aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/scripts/atomic
diff options
context:
space:
mode:
authorMarco Elver <elver@google.com>2020-01-21 17:05:09 +0100
committerIngo Molnar <mingo@kernel.org>2020-03-21 09:41:42 +0100
commited8af2e4d2a71bd58f5776b7e5a477d136e32be4 (patch)
treeb203ef75d77912c7a8d8f013f637745ee960de5a /scripts/atomic
parentinclude/linux: Add instrumented.h infrastructure (diff)
downloadwireguard-linux-ed8af2e4d2a71bd58f5776b7e5a477d136e32be4.tar.xz
wireguard-linux-ed8af2e4d2a71bd58f5776b7e5a477d136e32be4.zip
asm-generic, atomic-instrumented: Use generic instrumented.h
This switches atomic-instrumented.h to use the generic instrumentation wrappers provided by instrumented.h. No functional change intended. Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Marco Elver <elver@google.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'scripts/atomic')
-rwxr-xr-xscripts/atomic/gen-atomic-instrumented.sh19
1 files changed, 3 insertions, 16 deletions
diff --git a/scripts/atomic/gen-atomic-instrumented.sh b/scripts/atomic/gen-atomic-instrumented.sh
index fb4222548b22..6afadf73da17 100755
--- a/scripts/atomic/gen-atomic-instrumented.sh
+++ b/scripts/atomic/gen-atomic-instrumented.sh
@@ -20,7 +20,7 @@ gen_param_check()
# We don't write to constant parameters
[ ${type#c} != ${type} ] && rw="read"
- printf "\t__atomic_check_${rw}(${name}, sizeof(*${name}));\n"
+ printf "\tinstrument_atomic_${rw}(${name}, sizeof(*${name}));\n"
}
#gen_param_check(arg...)
@@ -107,7 +107,7 @@ cat <<EOF
#define ${xchg}(ptr, ...) \\
({ \\
typeof(ptr) __ai_ptr = (ptr); \\
- __atomic_check_write(__ai_ptr, ${mult}sizeof(*__ai_ptr)); \\
+ instrument_atomic_write(__ai_ptr, ${mult}sizeof(*__ai_ptr)); \\
arch_${xchg}(__ai_ptr, __VA_ARGS__); \\
})
EOF
@@ -148,20 +148,7 @@ cat << EOF
#include <linux/build_bug.h>
#include <linux/compiler.h>
-#include <linux/kasan-checks.h>
-#include <linux/kcsan-checks.h>
-
-static __always_inline void __atomic_check_read(const volatile void *v, size_t size)
-{
- kasan_check_read(v, size);
- kcsan_check_atomic_read(v, size);
-}
-
-static __always_inline void __atomic_check_write(const volatile void *v, size_t size)
-{
- kasan_check_write(v, size);
- kcsan_check_atomic_write(v, size);
-}
+#include <linux/instrumented.h>
EOF