All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <kees@kernel.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Kirill A. Shutemov" <kas@kernel.org>,
	linux-efi@vger.kernel.org, "Gavin Shan" <gshan@redhat.com>,
	"Jan Beulich" <jbeulich@suse.com>,
	kvm@vger.kernel.org, "Rafael J. Wysocki" <rafael@kernel.org>,
	"Kees Cook" <kees@kernel.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	llvm@lists.linux.dev,
	"Michal Wilczynski" <michal.wilczynski@intel.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	"Usama Arif" <usama.arif@bytedance.com>,
	"Andrey Ryabinin" <ryabinin.a.a@gmail.com>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	kasan-dev@googlegroups.com,
	"Henrique de Moraes Holschuh" <hmh@hmh.eng.br>,
	"H. Peter Anvin" <hpa@zytor.com>, "Will Deacon" <will@kernel.org>,
	"Ard Biesheuvel" <ardb@kernel.org>,
	linux-trace-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	"Hans de Goede" <hansg@kernel.org>, "Baoquan He" <bhe@redhat.com>,
	linux-acpi@vger.kernel.org,
	"Masahiro Yamada" <masahiroy@kernel.org>,
	x86@kernel.org, "James Morris" <jmorris@namei.org>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Oza Pawandeep" <quic_poza@quicinc.com>,
	"Sami Tolvanen" <samitolvanen@google.com>,
	"Changyuan Lyu" <changyuanl@google.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Hou Wenlong" <houwenlong.hwl@antgroup.com>,
	"Nick Desaulniers" <nick.desaulniers+lkml@gmail.com>,
	"Len Brown" <lenb@kernel.org>,
	platform-driver-x86@vger.kernel.org,
	"Marco Elver" <elver@google.com>,
	"Alexander Graf" <graf@amazon.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	"Anshuman Khandual" <anshuman.khandual@arm.com>,
	"Brian Gerst" <brgerst@gmail.com>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Bibo Mao" <maobibo@loongson.cn>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Paul Moore" <paul@paul-moore.com>,
	"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
	"Borislav Petkov" <bp@alien8.de>,
	"Andy Lutomirski" <luto@kernel.org>,
	"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	linux-hardening@vger.kernel.org,
	"Vitaly Kuznetsov" <vkuznets@redhat.com>,
	linux-arm-kernel@lists.infradead.org,
	"Andrey Konovalov" <andreyknvl@gmail.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Nicolas Schier" <nicolas.schier@linux.dev>,
	ibm-acpi-devel@lists.sourceforge.net, kexec@lists.infradead.org,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-kbuild@vger.kernel.org,
	"Luis Chamberlain" <mcgrof@kernel.org>,
	"James Morse" <james.morse@arm.com>,
	"Mike Rapoport" <rppt@kernel.org>,
	"Justin Stitt" <justinstitt@google.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Serge E. Hallyn" <serge@hallyn.com>,
	"Bill Wendling" <morbo@google.com>,
	"David Woodhouse" <dwmw@amazon.co.uk>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	"Roger Pau Monne" <roger.pau@citrix.com>
Subject: [PATCH v4 3/4] init.h: Disable sanitizer coverage for __init and __head
Date: Wed, 23 Jul 2025 22:50:27 -0700	[thread overview]
Message-ID: <20250724055029.3623499-3-kees@kernel.org> (raw)
In-Reply-To: <20250724054419.it.405-kees@kernel.org>

While __noinstr already contained __no_sanitize_coverage, it needs to
be added to __init and __head section markings to support the Clang
implementation of CONFIG_KSTACK_ERASE. This is to make sure the stack
depth tracking callback is not executed in unsupported contexts.

The other sanitizer coverage options (trace-pc and trace-cmp) aren't
needed in __head nor __init either ("We are interested in code coverage
as a function of a syscall inputs"[1]), so this is fine to disable for
them as well.

Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/kcov.c?h=v6.14#n179 [1]
Acked-by: Marco Elver <elver@google.com>
Signed-off-by: Kees Cook <kees@kernel.org>
---
Cc: Marco Elver <elver@google.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: <x86@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Hou Wenlong <houwenlong.hwl@antgroup.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Sami Tolvanen <samitolvanen@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: <kasan-dev@googlegroups.com>
---
 arch/x86/include/asm/init.h | 2 +-
 include/linux/init.h        | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h
index 8b1b1abcef15..6bfdaeddbae8 100644
--- a/arch/x86/include/asm/init.h
+++ b/arch/x86/include/asm/init.h
@@ -5,7 +5,7 @@
 #if defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION < 170000
 #define __head	__section(".head.text") __no_sanitize_undefined __no_stack_protector
 #else
-#define __head	__section(".head.text") __no_sanitize_undefined
+#define __head	__section(".head.text") __no_sanitize_undefined __no_sanitize_coverage
 #endif
 
 struct x86_mapping_info {
diff --git a/include/linux/init.h b/include/linux/init.h
index ee1309473bc6..c65a050d52a7 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -49,7 +49,9 @@
 
 /* These are for everybody (although not all archs will actually
    discard it in modules) */
-#define __init		__section(".init.text") __cold  __latent_entropy __noinitretpoline
+#define __init		__section(".init.text") __cold __latent_entropy	\
+						__noinitretpoline	\
+						__no_sanitize_coverage
 #define __initdata	__section(".init.data")
 #define __initconst	__section(".init.rodata")
 #define __exitdata	__section(".exit.data")
-- 
2.34.1



WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <kees@kernel.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Kees Cook" <kees@kernel.org>, "Marco Elver" <elver@google.com>,
	"Andrey Konovalov" <andreyknvl@gmail.com>,
	"Andrey Ryabinin" <ryabinin.a.a@gmail.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	"Ard Biesheuvel" <ardb@kernel.org>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	"Hou Wenlong" <houwenlong.hwl@antgroup.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Masahiro Yamada" <masahiroy@kernel.org>,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	"Luis Chamberlain" <mcgrof@kernel.org>,
	"Sami Tolvanen" <samitolvanen@google.com>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	kasan-dev@googlegroups.com, "Will Deacon" <will@kernel.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
	"Gavin Shan" <gshan@redhat.com>,
	"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
	"James Morse" <james.morse@arm.com>,
	"Oza Pawandeep" <quic_poza@quicinc.com>,
	"Anshuman Khandual" <anshuman.khandual@arm.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Mike Rapoport" <rppt@kernel.org>,
	"Vitaly Kuznetsov" <vkuznets@redhat.com>,
	"Henrique de Moraes Holschuh" <hmh@hmh.eng.br>,
	"Hans de Goede" <hansg@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Len Brown" <lenb@kernel.org>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Michal Wilczynski" <michal.wilczynski@intel.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Kirill A. Shutemov" <kas@kernel.org>,
	"Roger Pau Monne" <roger.pau@citrix.com>,
	"David Woodhouse" <dwmw@amazon.co.uk>,
	"Usama Arif" <usama.arif@bytedance.com>,
	"Guilherme G. Piccoli" <gpiccoli@igalia.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Brian Gerst" <brgerst@gmail.com>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Nicolas Schier" <nicolas.schier@linux.dev>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	"Andy Lutomirski" <luto@kernel.org>,
	"Baoquan He" <bhe@redhat.com>, "Alexander Graf" <graf@amazon.com>,
	"Changyuan Lyu" <changyuanl@google.com>,
	"Paul Moore" <paul@paul-moore.com>,
	"James Morris" <jmorris@namei.org>,
	"Serge E. Hallyn" <serge@hallyn.com>,
	"Nick Desaulniers" <nick.desaulniers+lkml@gmail.com>,
	"Bill Wendling" <morbo@google.com>,
	"Justin Stitt" <justinstitt@google.com>,
	"Jan Beulich" <jbeulich@suse.com>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	"Bibo Mao" <maobibo@loongson.cn>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org,
	ibm-acpi-devel@lists.sourceforge.net,
	platform-driver-x86@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-trace-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
	linux-mm@kvack.org, linux-kbuild@vger.kernel.org,
	linux-hardening@vger.kernel.org, kexec@lists.infradead.org,
	linux-security-module@vger.kernel.org, llvm@lists.linux.dev
Subject: [PATCH v4 3/4] init.h: Disable sanitizer coverage for __init and __head
Date: Wed, 23 Jul 2025 22:50:27 -0700	[thread overview]
Message-ID: <20250724055029.3623499-3-kees@kernel.org> (raw)
In-Reply-To: <20250724054419.it.405-kees@kernel.org>

While __noinstr already contained __no_sanitize_coverage, it needs to
be added to __init and __head section markings to support the Clang
implementation of CONFIG_KSTACK_ERASE. This is to make sure the stack
depth tracking callback is not executed in unsupported contexts.

The other sanitizer coverage options (trace-pc and trace-cmp) aren't
needed in __head nor __init either ("We are interested in code coverage
as a function of a syscall inputs"[1]), so this is fine to disable for
them as well.

Link: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/kcov.c?h=v6.14#n179 [1]
Acked-by: Marco Elver <elver@google.com>
Signed-off-by: Kees Cook <kees@kernel.org>
---
Cc: Marco Elver <elver@google.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: <x86@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Hou Wenlong <houwenlong.hwl@antgroup.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Sami Tolvanen <samitolvanen@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: <kasan-dev@googlegroups.com>
---
 arch/x86/include/asm/init.h | 2 +-
 include/linux/init.h        | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h
index 8b1b1abcef15..6bfdaeddbae8 100644
--- a/arch/x86/include/asm/init.h
+++ b/arch/x86/include/asm/init.h
@@ -5,7 +5,7 @@
 #if defined(CONFIG_CC_IS_CLANG) && CONFIG_CLANG_VERSION < 170000
 #define __head	__section(".head.text") __no_sanitize_undefined __no_stack_protector
 #else
-#define __head	__section(".head.text") __no_sanitize_undefined
+#define __head	__section(".head.text") __no_sanitize_undefined __no_sanitize_coverage
 #endif
 
 struct x86_mapping_info {
diff --git a/include/linux/init.h b/include/linux/init.h
index ee1309473bc6..c65a050d52a7 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -49,7 +49,9 @@
 
 /* These are for everybody (although not all archs will actually
    discard it in modules) */
-#define __init		__section(".init.text") __cold  __latent_entropy __noinitretpoline
+#define __init		__section(".init.text") __cold __latent_entropy	\
+						__noinitretpoline	\
+						__no_sanitize_coverage
 #define __initdata	__section(".init.data")
 #define __initconst	__section(".init.rodata")
 #define __exitdata	__section(".exit.data")
-- 
2.34.1


  parent reply	other threads:[~2025-07-24  9:02 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-24  5:50 [PATCH v4 0/4] stackleak: Support Clang stack depth tracking Kees Cook
2025-07-24  5:50 ` Kees Cook
2025-07-24  5:50 ` [PATCH v4 1/4] arm64: Handle KCOV __init vs inline mismatches Kees Cook
2025-07-24  5:50   ` Kees Cook
2025-07-29  8:10   ` Will Deacon
2025-07-29  8:10     ` Will Deacon
2025-07-24  5:50 ` [PATCH v4 2/4] x86: " Kees Cook
2025-07-24  5:50   ` Kees Cook
2025-07-29  8:28   ` Mike Rapoport
2025-07-29  8:28     ` Mike Rapoport
2025-07-29  9:34   ` Arnd Bergmann
2025-07-29  9:34     ` Arnd Bergmann
2025-07-24  5:50 ` Kees Cook [this message]
2025-07-24  5:50   ` [PATCH v4 3/4] init.h: Disable sanitizer coverage for __init and __head Kees Cook
2025-07-25  0:44   ` kernel test robot
2025-07-24  5:50 ` [PATCH v4 4/4] kstack_erase: Support Clang stack depth tracking Kees Cook
2025-07-24  5:50   ` Kees Cook
2025-07-24 13:08   ` Nicolas Schier
2025-07-24 13:08     ` Nicolas Schier
2025-07-26  0:43 ` [PATCH v4 0/4] stackleak: " Nathan Chancellor
2025-07-26  0:43   ` Nathan Chancellor
2025-07-26  6:27   ` Kees Cook
2025-07-26  6:27     ` Kees Cook
2025-07-26 21:47   ` Kees Cook
2025-07-26 21:47     ` 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=20250724055029.3623499-3-kees@kernel.org \
    --to=kees@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=andreyknvl@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=anshuman.khandual@arm.com \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bhe@redhat.com \
    --cc=boqun.feng@gmail.com \
    --cc=bp@alien8.de \
    --cc=brgerst@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=changyuanl@google.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dave.hansen@linux.intel.com \
    --cc=dwmw@amazon.co.uk \
    --cc=elver@google.com \
    --cc=graf@amazon.com \
    --cc=gshan@redhat.com \
    --cc=gustavoars@kernel.org \
    --cc=hansg@kernel.org \
    --cc=hmh@hmh.eng.br \
    --cc=houwenlong.hwl@antgroup.com \
    --cc=hpa@zytor.com \
    --cc=ibm-acpi-devel@lists.sourceforge.net \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=james.morse@arm.com \
    --cc=jbeulich@suse.com \
    --cc=jgross@suse.com \
    --cc=jmorris@namei.org \
    --cc=justinstitt@google.com \
    --cc=kas@kernel.org \
    --cc=kasan-dev@googlegroups.com \
    --cc=kexec@lists.infradead.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=luto@kernel.org \
    --cc=maobibo@loongson.cn \
    --cc=masahiroy@kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=michal.wilczynski@intel.com \
    --cc=mingo@redhat.com \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=nick.desaulniers+lkml@gmail.com \
    --cc=nicolas.schier@linux.dev \
    --cc=paul@paul-moore.com \
    --cc=paulmck@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=quic_poza@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=roger.pau@citrix.com \
    --cc=rppt@kernel.org \
    --cc=ryabinin.a.a@gmail.com \
    --cc=samitolvanen@google.com \
    --cc=serge@hallyn.com \
    --cc=tglx@linutronix.de \
    --cc=thuth@redhat.com \
    --cc=usama.arif@bytedance.com \
    --cc=viresh.kumar@linaro.org \
    --cc=vkuznets@redhat.com \
    --cc=will@kernel.org \
    --cc=x86@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.