Patch "kbuild: Fix CFI failures with GCOV" has been added to the 6.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    kbuild: Fix CFI failures with GCOV

to the 6.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     kbuild-fix-cfi-failures-with-gcov.patch
and it can be found in the queue-6.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 3bf9a6ce80d32988d61f917d20fd71dd65b4551d
Author: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
Date:   Fri Jun 23 00:11:42 2023 +0000

    kbuild: Fix CFI failures with GCOV
    
    [ Upstream commit ddf56288eebd1fe82c46fc9f693b5b18045cddb6 ]
    
    With GCOV_PROFILE_ALL, Clang injects __llvm_gcov_* functions to
    each object file, and the functions are indirectly called during
    boot. However, when code is injected to object files that are not
    part of vmlinux.o, it's also not processed by objtool, which breaks
    CFI hash randomization as the hashes in these files won't be
    included in the .cfi_sites section and thus won't be randomized.
    
    Similarly to commit 42633ed852de ("kbuild: Fix CFI hash
    randomization with KASAN"), disable GCOV for .vmlinux.export.o and
    init/version-timestamp.o to avoid emitting unnecessary functions to
    object files that don't otherwise have executable code.
    
    Fixes: 0c3e806ec0f9 ("x86/cfi: Add boot time hash randomization")
    Reported-by: Joe Fradley <joefradley@xxxxxxxxxx>
    Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
    Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
    Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
    Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
    Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/init/Makefile b/init/Makefile
index 26de459006c4e..ec557ada3c12e 100644
--- a/init/Makefile
+++ b/init/Makefile
@@ -60,3 +60,4 @@ include/generated/utsversion.h: FORCE
 $(obj)/version-timestamp.o: include/generated/utsversion.h
 CFLAGS_version-timestamp.o := -include include/generated/utsversion.h
 KASAN_SANITIZE_version-timestamp.o := n
+GCOV_PROFILE_version-timestamp.o := n
diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
index 10176dec97eac..3cd6ca15f390d 100644
--- a/scripts/Makefile.vmlinux
+++ b/scripts/Makefile.vmlinux
@@ -19,6 +19,7 @@ quiet_cmd_cc_o_c = CC      $@
 
 ifdef CONFIG_MODULES
 KASAN_SANITIZE_.vmlinux.export.o := n
+GCOV_PROFILE_.vmlinux.export.o := n
 targets += .vmlinux.export.o
 vmlinux: .vmlinux.export.o
 endif



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux