All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <kees@kernel.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: "Miguel Ojeda" <ojeda@kernel.org>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Nick Desaulniers" <nick.desaulniers+lkml@gmail.com>,
	"Bill Wendling" <morbo@google.com>,
	"Justin Stitt" <justinstitt@google.com>,
	"Marco Elver" <elver@google.com>,
	"Przemek Kitszel" <przemyslaw.kitszel@intel.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Masahiro Yamada" <masahiroy@kernel.org>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Johannes Weiner" <hannes@cmpxchg.org>,
	llvm@lists.linux.dev, "Al Viro" <viro@zeniv.linux.org.uk>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Christian Brauner" <brauner@kernel.org>,
	"Jan Kara" <jack@suse.cz>,
	"Nicolas Schier" <nicolas.schier@linux.dev>,
	"Shuah Khan" <shuah@kernel.org>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
	"Tamir Duberstein" <tamird@gmail.com>,
	"Michael Kelley" <mhklinux@outlook.com>,
	"kernel test robot" <lkp@intel.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Uros Bizjak" <ubizjak@gmail.com>,
	"Jan Hendrik Farr" <kernel@jfarr.cc>,
	"Yafang Shao" <laoar.shao@gmail.com>,
	"Marc Herbert" <Marc.Herbert@linux.intel.com>,
	"Christopher Ferris" <cferris@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Alexander Lobakin" <aleksander.lobakin@intel.com>,
	"Paolo Abeni" <pabeni@redhat.com>, "Tejun Heo" <tj@kernel.org>,
	"Jeff Xu" <jeffxu@chromium.org>,
	"Michal Koutný" <mkoutny@suse.com>,
	"Shakeel Butt" <shakeel.butt@linux.dev>,
	"Randy Dunlap" <rdunlap@infradead.org>,
	"Brian Gerst" <brgerst@gmail.com>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-kbuild@vger.kernel.org, linux-kselftest@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [PATCH 1/3] compiler_types: Introduce __counted_by_ptr()
Date: Wed, 22 Oct 2025 17:47:43 -0700	[thread overview]
Message-ID: <202510221746.7C09BBE@keescook> (raw)
In-Reply-To: <202510211210.84D670D1C@keescook>

On Tue, Oct 21, 2025 at 12:24:05PM -0700, Kees Cook wrote:
> On Tue, Oct 21, 2025 at 11:54:47AM +0200, Peter Zijlstra wrote:
> > > [...]
> > > Unfortunately, this annotation cannot be used for "void *" members
> > > (since such a member is considered a pointer to an incomplete type,
> > > and neither Clang nor GCC developers could be convinced otherwise[1],
> > > even in the face of the GNU extension that "void *" has size "1 byte"
> > > for pointer arithmetic). For "void *" members, we must use the coming
> > > "sized_by" attribute.
> > 
> > So why do we need both __counted_by_ptr() and this __sized_by(), won't
> > one be good enough?
> [...]
> Let me take another stab at it...

It seems this will be acceptable as long as it is gated by GNU
extensions. GCC patch in progress. Clang PR here:
https://github.com/llvm/llvm-project/pull/163698

-- 
Kees Cook

  parent reply	other threads:[~2025-10-23  0:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-20 22:01 [PATCH 0/3] compiler_types: Introduce __counted_by_ptr() Kees Cook
2025-10-20 22:01 ` [PATCH 1/3] " Kees Cook
2025-10-20 22:34   ` Marco Elver
2025-10-20 22:53   ` Bill Wendling
2025-10-21  9:59     ` Peter Zijlstra
2025-10-21  9:54   ` Peter Zijlstra
2025-10-21 19:24     ` Kees Cook
2025-10-22  8:20       ` Peter Zijlstra
2025-10-23  0:47       ` Kees Cook [this message]
2025-10-23  8:01         ` Peter Zijlstra
2025-10-23 13:45           ` Kees Cook
2025-10-20 22:01 ` [PATCH 2/3] lkdtm/bugs: Add __counted_by_ptr() test PTR_BOUNDS Kees Cook
2025-10-20 22:01 ` [PATCH 3/3] coredump: Use __counted_by_ptr for struct core_name::corename Kees Cook

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202510221746.7C09BBE@keescook \
    --to=kees@kernel.org \
    --cc=Marc.Herbert@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=aleksander.lobakin@intel.com \
    --cc=arnd@arndb.de \
    --cc=brauner@kernel.org \
    --cc=brgerst@gmail.com \
    --cc=cferris@google.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=elver@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=gustavoars@kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=hca@linux.ibm.com \
    --cc=jack@suse.cz \
    --cc=jeffxu@chromium.org \
    --cc=justinstitt@google.com \
    --cc=kernel@jfarr.cc \
    --cc=kuba@kernel.org \
    --cc=laoar.shao@gmail.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=masahiroy@kernel.org \
    --cc=mhklinux@outlook.com \
    --cc=mkoutny@suse.com \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=nick.desaulniers+lkml@gmail.com \
    --cc=nicolas.schier@linux.dev \
    --cc=ojeda@kernel.org \
    --cc=pabeni@redhat.com \
    --cc=peterz@infradead.org \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=rdunlap@infradead.org \
    --cc=shakeel.butt@linux.dev \
    --cc=shuah@kernel.org \
    --cc=tamird@gmail.com \
    --cc=thomas.weissschuh@linutronix.de \
    --cc=tj@kernel.org \
    --cc=ubizjak@gmail.com \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.