]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86/sev: Disable GCOV on noinstr object
authorBrendan Jackman <jackmanb@google.com>
Tue, 16 Dec 2025 10:16:36 +0000 (10:16 +0000)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 5 Jan 2026 09:22:48 +0000 (10:22 +0100)
With Debian clang version 19.1.7 (3+build5) there are calls to
kasan_check_write() from __sev_es_nmi_complete(), which violates noinstr.  Fix
it by disabling GCOV for the noinstr object, as has been done for previous
such instrumentation issues.

Note that this file already disables __SANITIZE_ADDRESS__ and
__SANITIZE_THREAD__, thus calls like kasan_check_write() ought to be nops
regardless of GCOV. This has been fixed in other patches. However, to avoid
any other accidental instrumentation showing up, (and since, in principle GCOV
is instrumentation and hence should be disabled for noinstr code anyway),
disable GCOV overall as well.

Signed-off-by: Brendan Jackman <jackmanb@google.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Marco Elver <elver@google.com>
Link: https://patch.msgid.link/20251216-gcov-inline-noinstr-v3-3-10244d154451@google.com
arch/x86/coco/sev/Makefile

index 3b8ae214a6a64de6bb208eb3b7c8bf12007ccc2c..b2e9ec2f69014fa3507d40c6c266f1b74d634fcb 100644 (file)
@@ -8,3 +8,5 @@ UBSAN_SANITIZE_noinstr.o        := n
 # GCC may fail to respect __no_sanitize_address or __no_kcsan when inlining
 KASAN_SANITIZE_noinstr.o       := n
 KCSAN_SANITIZE_noinstr.o       := n
+
+GCOV_PROFILE_noinstr.o         := n