From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B3B703587A1 for ; Fri, 16 Jan 2026 09:53:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768557207; cv=none; b=rRliUbCB3K+AOgy+ntnk+Hq6DkjoPbTssCs2m3tOykLaIbd4WoUaCOkvt2IbKRV6u7oK5oky7AVD1t996CRu1wXP+S/6fLNHuIJIVps1Hnvi0yEfxuXgJ4YksTVL4gf5maDN9glMHoXHZuN/lGwXZJW/cmLV3rqhj1vxHTeeGGI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768557207; c=relaxed/simple; bh=UTgpQh0ZLgnzkFSvhFTTbcTXvNmo/rsBWjbi2EKkncY=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=EVCxROuQ6Vb1an9a41aUE6bZw/zA813FChzPBRPRh3LGVtkxHLb8J7C7+AQlGWCwOpLQRMO17vQnxoPsgq8JcV6iYSBy0VHjBmfOGe401ZXQS2daA3sYQqckbfCnMY+c8C/KfEu4OQ+9zNTxZyG6Svpbo8o+M6Z2RejaFXNWmbA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BZk1W/KT; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BZk1W/KT" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-4801d98cf39so5789035e9.1 for ; Fri, 16 Jan 2026 01:53:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768557204; x=1769162004; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=Kc9Ty9XgpUdwxFhTnyIgiWP6bdhC4HIf+rr8u+NJ+Go=; b=BZk1W/KTAm1xH+5VKcuPMSh2uu/pebl3HoUOauxWdOOJM5QVP69whoozeB/Pt42+Cy 2SQ1qbf5EYaXXEwknSVHkP9zNwL0cBdFakLz9lDVBI7vgweyRwtI4Xk+juBEiHDhYH7J 9/9sNafc+3mVEf18cNd2AaI5YQBgkY0LAanTEHalIOt8NUEO6+fZmCKCxnvmATovxv4p 5eST7qwoCvougdi5q3NQze4req0uMCrdN58mcgRZenQS4VSbDUx1zYU77AikTxQ22YtK ZT056if92mc/gOG0aVnHYmWC2IKes/lzW3X9BkctCNn3W3+ej8crnWUa753hOIsbFV4g yboA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768557204; x=1769162004; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Kc9Ty9XgpUdwxFhTnyIgiWP6bdhC4HIf+rr8u+NJ+Go=; b=FD4sPJXN6OTleKkwWA+nfqrxeQX1CcIDlb5VTzaqn/XOke1ncTsQPbiYI8tbvHabdO 1NitQ4TJpcytIboroWWjDp7tDSywP7nWORB1b630gtrZU5QZtadpLbhn9A+4/h1r4KlG lba1K02OdZp92scc1jnnRwpLBZfq3glN7cmBVdto5bYsEKkTLvt6ptylm28GUt2G9z61 G22tdz/JnucSxKhXlb5hYhVVmCcPfInGXhCVEg9c3UTY+LpO7HA7CBUFzR+9+em5uNG2 b4u/EF1/7syvi+OjJ49M5QEep8NAFxuUDRQ3pJf0zqmq1raFmsdJEiBjc5BBd4EKUH00 /0Bg== X-Forwarded-Encrypted: i=1; AJvYcCV7iT0F2Krj1egpRVpyWt6I8NzOc44DGiYMC/oiojPugdTFuq4Cd+b3o8eI1irER+BkMmGU2ynNpokmrSU=@vger.kernel.org X-Gm-Message-State: AOJu0YwksX2gaRwMwbf7SiZqX4Waf5a34Qq3HW093ZN6JLzuVSj3jxPW KNpqncS+lDvjN+7UxhxpuATvCWMKd4GYEJZkEwj/Ash5Go78K9GuU7wd X-Gm-Gg: AY/fxX7HlWfIawHg2+8sf+ZXfQi1NRsFMMrv2YUmX1jRse95Y9y0IXoF/TSaRRy4S0M xueF0F+yZ4DdYRM5THSL2wE5HBrmm3HFh1NzJe5o1xYvUtaskVNLoSNdV2Y1e7LdyDBxyLC+G2Q NvobyrBbNsYQYf5AaYR+mk/33bWoEGv4UbNqhvy6c32aMaBGsNMDQ/LtTWbtxUosg7HPwKGkVUu PbGIlGNZd3ywFweqioN4NkuC/+1NbjJUDBq4D+7xKkvrBE2aVr2IKmCued9oo0cuDm9OQrlW0GH Ap01KQsgugcbDSQytslD55nf04kuHb7xYtChnE9Xn8u9xm1WrD04gHqXOtqv8kLH4Y3tW/LNgaD BV4eJrtk1ulAUDdC4rWdpP967+Tz6qv6qBdkkKA2qqD+kvTBLztUXmM3TbsZOqzPJyAZXA1AECy NkOIZbRXX3dSo0Kxd1eE4YLsPGsKMkFEgawDvYsKgn5Kmx+azyo31n X-Received: by 2002:a05:600c:8b64:b0:47a:8cce:2940 with SMTP id 5b1f17b1804b1-4801eac0f22mr21648235e9.14.1768557203887; Fri, 16 Jan 2026 01:53:23 -0800 (PST) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47f428ac749sm90683575e9.5.2026.01.16.01.53.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Jan 2026 01:53:23 -0800 (PST) Date: Fri, 16 Jan 2026 09:53:18 +0000 From: David Laight To: Bill Wendling Cc: Kees Cook , "Gustavo A. R. Silva" , Nathan Chancellor , Nick Desaulniers , Justin Stitt , Miguel Ojeda , Peter Zijlstra , Andrew Morton , Heiko Carstens , Marc Herbert , Uros Bizjak , Tejun Heo , Jeff Xu , "Michal =?UTF-8?B?S291dG7DvQ==?=" , Shakeel Butt , "Thomas =?UTF-8?B?V2Vpw59zY2h1aA==?=" , John Stultz , Christian Brauner , Randy Dunlap , Brian Gerst , Masahiro Yamada , linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org, llvm@lists.linux.dev, Nicolas Schier , Tamir Duberstein , Steven Rostedt , "Jason A. Donenfeld" , "H. Peter Anvin" , Naman Jain , Simon Horman , Jakub Kicinski , Paolo Abeni , Ingo Molnar , Thomas Gleixner , Douglas Anderson , linux-kbuild@vger.kernel.org Subject: Re: [PATCH v4 1/2] Compiler Attributes: Add __counted_by_ptr macro Message-ID: <20260116095318.46a149fb@pumpkin> In-Reply-To: <20260116005838.2419118-1-morbo@google.com> References: <20260114193716.1740684-1-morbo@google.com> <20260116005838.2419118-1-morbo@google.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Fri, 16 Jan 2026 00:57:57 +0000 Bill Wendling wrote: > Introduce __counted_by_ptr(), which works like __counted_by(), but for > pointer struct members. > > struct foo { > int a, b, c; > char *buffer __counted_by_ptr(bytes); > short nr_bars; > struct bar *bars __counted_by_ptr(nr_bars); > size_t bytes; > }; > > Because "counted_by" can only be applied to pointer members in very > recent compiler versions, its application ends up needing to be distinct > from flexibe array "counted_by" annotations, hence a separate macro. ... > diff --git a/Makefile b/Makefile > index 9d38125263fb..6b029f694bc2 100644 > --- a/Makefile > +++ b/Makefile > @@ -952,6 +952,12 @@ KBUILD_CFLAGS += $(CC_AUTO_VAR_INIT_ZERO_ENABLER) > endif > endif > > +ifdef CONFIG_CC_IS_CLANG > +ifdef CONFIG_CC_HAS_COUNTED_BY_PTR > +KBUILD_CFLAGS += -fexperimental-late-parse-attributes > +endif > +endif Will that still be needed for clang 22? Looks a bit like a temporary flag to avoid regressions. Probably ought to at least have a comment that it won't be needed by some future clang version so that it gets tidied up. David