All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Hendrik Farr <kernel@jfarr.cc>
To: kees@kernel.org
Cc: nathan@kernel.org, ojeda@kernel.org, ndesaulniers@google.com,
	morbo@google.com, justinstitt@google.com,
	thorsten.blum@toblux.com, ardb@kernel.org, oliver.sang@intel.com,
	gustavoars@kernel.org, kent.overstreet@linux.dev, arnd@arndb.de,
	gregkh@linuxfoundation.org, akpm@linux-foundation.org,
	tavianator@tavianator.com, linux-hardening@vger.kernel.org,
	llvm@lists.linux.dev, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, kernel@jfarr.cc
Subject: [PATCH 0/1] disable __counted_by for clang < 19.1.3
Date: Tue, 29 Oct 2024 15:00:35 +0100	[thread overview]
Message-ID: <20241029140036.577804-1-kernel@jfarr.cc> (raw)

Hi Kees,

Bill's PR to disable __counted_by for "whole struct" __bdos cases has now
been merged into 19.1.3 [1], so here's the patch to disable __counted_by
for clang versions < 19.1.3 in the kernel.

Hopefully in the near future __counted_by for whole struct __bdos can be
enabled once again in coordination between the kernel, gcc, and clang.
There has been recent progress on this in [2] thanks to Tavian.

Also see previous discussion on the mailing list [3]

Thanks to everyone for moving this issue along. In particular, Bill for
his PR to clang/llvm, Kees and Thorsten for reproducers of the two issues,
Nathan for Kconfig-ifying this patch, and Miguel for reviewing.


Info for the stable team:

This patch should be backported to kernels >= 6.6 to make sure that those
build correctly with the effected clang versions. This patch cherry-picks
cleanly onto linux-6.11.y. For linux-6.6.y three prerequiste commits are
neded:

16c31dd7fdf6: Compiler Attributes: counted_by: bump min gcc version
2993eb7a8d34: Compiler Attributes: counted_by: fixup clang URL
231dc3f0c936: lkdtm/bugs: Improve warning message for compilers without counted_by support

There are still two merge conflicts even with those prerequistes.
Here's the correct resolution:

1. include/linux/compiler_types.h:
	use the incoming change until before (but not including) the
        "Apply __counted_by() when the Endianness matches to increase test coverage."
        comment

2. lib/overflow_kunit.c: 
	HEAD is correct

[1] https://github.com/llvm/llvm-project/pull/112786
[2] https://github.com/llvm/llvm-project/pull/112636
[3] https://lore.kernel.org/lkml/3E304FB2-799D-478F-889A-CDFC1A52DCD8@toblux.com/T/#m204c09f63c076586a02d194b87dffc7e81b8de7b

Best Regards
Jan

Jan Hendrik Farr (1):
  Compiler Attributes: disable __counted_by for clang < 19.1.3

 drivers/misc/lkdtm/bugs.c           |  2 +-
 include/linux/compiler_attributes.h | 13 -------------
 include/linux/compiler_types.h      | 19 +++++++++++++++++++
 init/Kconfig                        |  9 +++++++++
 lib/overflow_kunit.c                |  2 +-
 5 files changed, 30 insertions(+), 15 deletions(-)

-- 
2.47.0


             reply	other threads:[~2024-10-29 14:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-29 14:00 Jan Hendrik Farr [this message]
2024-10-29 14:00 ` [PATCH 1/1] Compiler Attributes: disable __counted_by for clang < 19.1.3 Jan Hendrik Farr
2024-10-29 15:10   ` Thorsten Blum
2024-11-19 17:26   ` Kees Cook
2025-06-09 13:14   ` Dafna Hirschfeld
2025-06-09 13:51     ` Miguel Ojeda
2025-06-11 13:16   ` Sasha Levin
2025-06-11 13:44     ` Jan Hendrik Farr

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=20241029140036.577804-1-kernel@jfarr.cc \
    --to=kernel@jfarr.cc \
    --cc=akpm@linux-foundation.org \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=gustavoars@kernel.org \
    --cc=justinstitt@google.com \
    --cc=kees@kernel.org \
    --cc=kent.overstreet@linux.dev \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=ojeda@kernel.org \
    --cc=oliver.sang@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=tavianator@tavianator.com \
    --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.