From: Nathan Chancellor <nathan@kernel.org>
To: Jan Hendrik Farr <kernel@jfarr.cc>
Cc: Kees Cook <kees@kernel.org>, Miguel Ojeda <ojeda@kernel.org>,
Bill Wendling <morbo@google.com>,
thorsten.blum@toblux.com,
"Gustavo A . R . Silva" <gustavoars@kernel.org>,
Nick Desaulniers <nick.desaulniers+lkml@gmail.com>,
Justin Stitt <justinstitt@google.com>,
linux-hardening@vger.kernel.org, llvm@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] hardening: simplify CONFIG_CC_HAS_COUNTED_BY
Date: Wed, 30 Apr 2025 16:13:06 -0700 [thread overview]
Message-ID: <20250430231306.GA3715926@ax162> (raw)
In-Reply-To: <20250430184231.671365-2-kernel@jfarr.cc>
On Wed, Apr 30, 2025 at 08:42:31PM +0200, Jan Hendrik Farr wrote:
> Simplifies CONFIG_CC_HAS_COUNTED_BY by removing the build test and
> relying solely on gcc/clang version numbering (GCC_VERSION >= 150100 and
> CLANG_VERSION >= 190103).
>
> The build test was used to allow unreleased gcc 15.0 builds to use the
> __counted_by attribute. Now that gcc 15.1.0 has been released, this is
> not needed anymore. Note: This will disable __counted_by on unreleased
> gcc 15.0 builds.
>
> clang version support for __counted_by remains unchanged.
>
> Link: https://lore.kernel.org/all/Zw8iawAF5W2uzGuh@archlinux/T/#m204c09f63c076586a02d194b87dffc7e81b8de7b
> Link: https://lore.kernel.org/r/20241029140036.577804-2-kernel@jfarr.cc
> Suggested-by: Nathan Chancellor <nathan@kernel.org>
> Signed-off-by: Jan Hendrik Farr <kernel@jfarr.cc>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
> ---
> init/Kconfig | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index 63f5974b9fa6..017fde21d0ba 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -121,13 +121,14 @@ config CC_HAS_NO_PROFILE_FN_ATTR
> def_bool $(success,echo '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
>
> config CC_HAS_COUNTED_BY
> - # TODO: when gcc 15 is released remove the build test and add
> - # a gcc version check
> - def_bool $(success,echo 'struct flex { int count; int array[] __attribute__((__counted_by__(count))); };' | $(CC) $(CLANG_FLAGS) -x c - -c -o /dev/null -Werror)
> + bool
> # clang needs to be at least 19.1.3 to avoid __bdos miscalculations
> # https://github.com/llvm/llvm-project/pull/110497
> # https://github.com/llvm/llvm-project/pull/112636
> - depends on !(CC_IS_CLANG && CLANG_VERSION < 190103)
> + default y if CC_IS_CLANG && CLANG_VERSION >= 190103
> + # supported since gcc 15.1.0
> + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108896
> + default y if CC_IS_GCC && GCC_VERSION >= 150100
>
> config CC_HAS_MULTIDIMENSIONAL_NONSTRING
> def_bool $(success,echo 'char tag[][4] __attribute__((__nonstring__)) = { };' | $(CC) $(CLANG_FLAGS) -x c - -c -o /dev/null -Werror)
> --
> 2.49.0
>
prev parent reply other threads:[~2025-04-30 23:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 18:42 [PATCH 0/1] hardening: simplify CONFIG_CC_HAS_COUNTED_BY Jan Hendrik Farr
2025-04-30 18:42 ` [PATCH 1/1] " Jan Hendrik Farr
2025-04-30 18:49 ` Kees Cook
2025-04-30 23:13 ` Nathan Chancellor [this message]
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=20250430231306.GA3715926@ax162 \
--to=nathan@kernel.org \
--cc=gustavoars@kernel.org \
--cc=justinstitt@google.com \
--cc=kees@kernel.org \
--cc=kernel@jfarr.cc \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=morbo@google.com \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=ojeda@kernel.org \
--cc=thorsten.blum@toblux.com \
/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.