From: Kees Cook <keesc...@chromium.org>

[ Upstream commit 9380ce246a052a1e00121cd480028b6907aeae38 ]

Commit 8d58f222e85f ("ubsan: disable UBSAN_ALIGNMENT under
COMPILE_TEST") tried to fix the pathological results of UBSAN_ALIGNMENT
with UBSAN_TRAP (which objtool would rightly scream about), but it made
an assumption about how COMPILE_TEST gets set (it is not set for
randconfig).  As a result, we need a bigger hammer here: just don't
allow the alignment checks with the trap mode.

Fixes: 8d58f222e85f ("ubsan: disable UBSAN_ALIGNMENT under COMPILE_TEST")
Reported-by: Randy Dunlap <rdun...@infradead.org>
Signed-off-by: Kees Cook <keesc...@chromium.org>
Signed-off-by: Andrew Morton <a...@linux-foundation.org>
Acked-by: Randy Dunlap <rdun...@infradead.org>
Cc: Josh Poimboeuf <jpoim...@redhat.com>
Cc: Dmitry Vyukov <dvyu...@google.com>
Cc: Elena Petrova <lena...@google.com>
Link: http://lkml.kernel.org/r/202005291236.000FCB6@keescook
Link: 
https://lore.kernel.org/lkml/742521db-1e8c-0d7a-1ed4-a908894fb...@infradead.org/
Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 lib/Kconfig.ubsan | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Kconfig.ubsan b/lib/Kconfig.ubsan
index 929211039bac..27bcc2568c95 100644
--- a/lib/Kconfig.ubsan
+++ b/lib/Kconfig.ubsan
@@ -63,7 +63,7 @@ config UBSAN_SANITIZE_ALL
 config UBSAN_ALIGNMENT
        bool "Enable checks for pointers alignment"
        default !HAVE_EFFICIENT_UNALIGNED_ACCESS
-       depends on !X86 || !COMPILE_TEST
+       depends on !UBSAN_TRAP
        help
          This option enables the check of unaligned memory accesses.
          Enabling this option on architectures that support unaligned
-- 
2.25.1



Reply via email to