Skip to contentSkip to conversation

stackdepot-build-with-fno-builtin.patch removed from -mm tree

merged [email protected] 1 participant 1 message Apr 8, 2020

lore
Share & tools
lore

[email protected]

author tree notice Applied
#0 lore raw

The patch titled
Subject: lib/stackdepot.c: build with -fno-builtin
has been removed from the -mm tree. Its filename was
stackdepot-build-with-fno-builtin.patch

This patch was dropped because it was merged into mainline or a subsystem tree

------------------------------------------------------
From: Alexander Potapenko <[email protected]>
Subject: lib/stackdepot.c: build with -fno-builtin

Clang may replace stackdepot_memcmp() with a call to instrumented bcmp(), which is exactly what we wanted to avoid creating stackdepot_memcmp(). Building the file with -fno-builtin prevents such optimizations.

This patch has been previously mailed as part of KMSAN RFC patch series.

Cc Vegard Nossum <[email protected]>
Cc Dmitry Vyukov <[email protected]>
Cc Marco Elver <[email protected]>
Cc Andrey Konovalov <[email protected]>
Cc Sergey Senozhatsky <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Andrey Ryabinin <[email protected]>

---

 lib/Makefile |    4 ++++
 1 file changed, 4 insertions(+)
lib/Makefile renamed from lib/Makefile~stackdepot-build-with-fno-builtin +4 -0
@@ -223,6 +223,10 @@ obj-$(CONFIG_MEMREGION) += memregion.o
 obj-$(CONFIG_STMP_DEVICE) += stmp_device.o
 obj-$(CONFIG_IRQ_POLL) += irq_poll.o
 
+# stackdepot.c should not be instrumented or call instrumented functions.
+# Prevent the compiler from calling builtins like memcmp() or bcmp() from this
+# file.
+CFLAGS_stackdepot.o += -fno-builtin
 obj-$(CONFIG_STACKDEPOT) += stackdepot.o
 KASAN_SANITIZE_stackdepot.o := n
 KCOV_INSTRUMENT_stackdepot.o := n

_

Patches currently in -mm which might be from [email protected] are