From: Nathan Chancellor <nathan@kernel.org>
To: Jaihind Yadav <jaihindy@qti.qualcomm.com>
Cc: Nicolas Schier <nsc@kernel.org>, Kees Cook <kees@kernel.org>,
"linux-kbuild@vger.kernel.org" <linux-kbuild@vger.kernel.org>,
"linux-modules@vger.kernel.org" <linux-modules@vger.kernel.org>,
"linux-hardening@vger.kernel.org"
<linux-hardening@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] kstack_erase: suppress -grecord-gcc-switches for external module builds
Date: Mon, 17 Aug 2026 11:51:46 -0700 [thread overview]
Message-ID: <20260817185146.GC1249844@ax162> (raw)
In-Reply-To: <CY5PR02MB8991C91E71C153EEF452972FE2D82@CY5PR02MB8991.namprd02.prod.outlook.com>
Hi Jaihind,
On Sun, Aug 16, 2026 at 08:11:01AM +0000, Jaihind Yadav wrote:
> Would it be acceptable to handle this generically for external modules in
> top-level kbuild (`Makefile`) instead of tying it to kstack_erase? I was
> thinking about adding:
>
> diff --git a/Makefile b/Makefile
> @@ -1057,6 +1057,10 @@ include $(addprefix $(srctree)/, $(include-y))
> # Do not add $(call cc-option,...) below this line. When you build the kernel
> # from the clean source tree, the GCC plugins do not exist at this point.
>
> +ifneq ($(KBUILD_EXTMOD),)
> +KBUILD_CFLAGS += -gno-record-gcc-switches
> +endif
> +
> # Add user supplied CPPFLAGS, AFLAGS, CFLAGS and RUSTFLAGS as the last assignments
>
> This would avoid per-module changes and also avoid coupling a generic
> compiler switch-recording behavior to `CONFIG_GCC_PLUGIN_STACKLEAK`.
>
> If this direction looks reasonable, I can send it as an RFC patch for review.
I do find this direction to get more at the heart of the problem but
shouldn't this live in scripts/Makefile.gcc-plugins?
diff --git a/scripts/Makefile.gcc-plugins b/scripts/Makefile.gcc-plugins
index b0e1423b09c2..9b9899580571 100644
--- a/scripts/Makefile.gcc-plugins
+++ b/scripts/Makefile.gcc-plugins
@@ -8,6 +8,10 @@ ifdef CONFIG_GCC_PLUGIN_LATENT_ENTROPY
endif
export DISABLE_LATENT_ENTROPY_PLUGIN
+# Disable recording GCC options in debug info when building external modules to
+# avoid leaking absolute host build paths
+gcc-plugin-cflags-$(if $(KBUILD_EXTMOD),y) += -gno-record-gcc-switches
+
# All the plugin CFLAGS are collected here in case a build target needs to
# filter them out of the KBUILD_CFLAGS.
GCC_PLUGINS_CFLAGS := $(strip $(addprefix -fplugin=$(objtree)/scripts/gcc-plugins/, $(gcc-plugin-y)) $(gcc-plugin-cflags-y)) -DGCC_PLUGINS
--
Otherwise, this would apply to every external module build, not just
ones that enable GCC plugins.
I defer to Kees on whether this is actually acceptable though.
--
Cheers,
Nathan
next prev parent reply other threads:[~2026-08-17 18:51 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-20 9:35 [PATCH 0/1] scripts: kstack_erase: avoid absolute stackleak plugin path Jaihind Yadav
2026-07-20 9:35 ` [PATCH 1/1] scripts: kstack_erase: use relative " Jaihind Yadav
2026-07-22 14:45 ` Nicolas Schier
2026-07-22 17:17 ` Jaihind Yadav
2026-07-22 19:00 ` Jaihind Yadav
2026-07-24 20:18 ` Nicolas Schier
2026-08-03 18:12 ` Nathan Chancellor
2026-08-12 10:55 ` Jaihind Yadav
2026-08-12 16:48 ` Nathan Chancellor
2026-08-13 8:29 ` [PATCH v2] kstack_erase: suppress -grecord-gcc-switches for external module builds Jaihind Yadav
2026-08-13 16:42 ` Kees Cook
2026-08-14 8:27 ` Jaihind Yadav
2026-08-14 18:23 ` Nicolas Schier
2026-08-14 22:45 ` Nathan Chancellor
2026-08-16 8:11 ` Jaihind Yadav
2026-08-17 18:51 ` Nathan Chancellor [this message]
2026-08-19 5:03 ` Jaihind Yadav
2026-08-20 6:01 ` [PATCH v3] scripts/gcc-plugins: suppress recorded GCC switches for extmod builds Jaihind Yadav
2026-08-28 15:13 ` Nicolas Schier
2026-09-01 21:11 ` Kees Cook
2026-09-01 23:13 ` Nathan Chancellor
2026-09-02 5:21 ` Jaihind Yadav
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=20260817185146.GC1249844@ax162 \
--to=nathan@kernel.org \
--cc=jaihindy@qti.qualcomm.com \
--cc=kees@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=nsc@kernel.org \
/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.