[PATCH v4 2/7] xtensa: kcsan: Remove kcsan stubs for atomic builtins
From: Rohan McLure <hidden>
Date: 2023-02-08 03:25:31
Subsystem:
kcsan, tensilica xtensa port (xtensa), the rest · Maintainers:
Marco Elver, Chris Zankel, Max Filippov, Linus Torvalds
A prior patch implemented stubs in place of the __atomic_* builtins in generic code, as it is useful for other 32-bit architectures such as 32-bit powerpc. Remove the kcsan-stubs.c translation unit and instead use the generic implementation. Signed-off-by: Rohan McLure <redacted> --- V4: New patch --- arch/xtensa/lib/Makefile | 1 - arch/xtensa/lib/kcsan-stubs.c | 54 ----------------------------------- kernel/kcsan/Makefile | 5 +--- 3 files changed, 1 insertion(+), 59 deletions(-) delete mode 100644 arch/xtensa/lib/kcsan-stubs.c
diff --git a/arch/xtensa/lib/Makefile b/arch/xtensa/lib/Makefile
index 7ecef0519a27..d69356dc97df 100644
--- a/arch/xtensa/lib/Makefile
+++ b/arch/xtensa/lib/Makefile@@ -8,5 +8,4 @@ lib-y += memcopy.o memset.o checksum.o \ divsi3.o udivsi3.o modsi3.o umodsi3.o mulsi3.o umulsidi3.o \ usercopy.o strncpy_user.o strnlen_user.o lib-$(CONFIG_PCI) += pci-auto.o -lib-$(CONFIG_KCSAN) += kcsan-stubs.o KCSAN_SANITIZE_kcsan-stubs.o := n
diff --git a/arch/xtensa/lib/kcsan-stubs.c b/arch/xtensa/lib/kcsan-stubs.c
deleted file mode 100644
index 2b08faa62b86..000000000000
--- a/arch/xtensa/lib/kcsan-stubs.c
+++ /dev/null@@ -1,54 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 - -#include <linux/bug.h> -#include <linux/types.h> - -void __atomic_store_8(volatile void *p, u64 v, int i) -{ - BUG(); -} - -u64 __atomic_load_8(const volatile void *p, int i) -{ - BUG(); -} - -u64 __atomic_exchange_8(volatile void *p, u64 v, int i) -{ - BUG(); -} - -bool __atomic_compare_exchange_8(volatile void *p1, void *p2, u64 v, bool b, int i1, int i2) -{ - BUG(); -} - -u64 __atomic_fetch_add_8(volatile void *p, u64 v, int i) -{ - BUG(); -} - -u64 __atomic_fetch_sub_8(volatile void *p, u64 v, int i) -{ - BUG(); -} - -u64 __atomic_fetch_and_8(volatile void *p, u64 v, int i) -{ - BUG(); -} - -u64 __atomic_fetch_or_8(volatile void *p, u64 v, int i) -{ - BUG(); -} - -u64 __atomic_fetch_xor_8(volatile void *p, u64 v, int i) -{ - BUG(); -} - -u64 __atomic_fetch_nand_8(volatile void *p, u64 v, int i) -{ - BUG(); -}
diff --git a/kernel/kcsan/Makefile b/kernel/kcsan/Makefile
index 5dfc5825aae9..377b81be94fa 100644
--- a/kernel/kcsan/Makefile
+++ b/kernel/kcsan/Makefile@@ -11,10 +11,7 @@ CFLAGS_core.o := $(call cc-option,-fno-conserve-stack) \ $(call cc-option,-mno-outline-atomics) \ -fno-stack-protector -DDISABLE_BRANCH_PROFILING -obj-y := core.o debugfs.o report.o -ifndef XTENSA - obj-y += stubs.o -endif +obj-y := core.o debugfs.o report.o stubs.o KCSAN_INSTRUMENT_BARRIERS_selftest.o := y obj-$(CONFIG_KCSAN_SELFTEST) += selftest.o
--
2.37.2