summaryrefslogtreecommitdiffstats
path: root/scripts/atomic
diff options
context:
space:
mode:
authorMarco Elver <elver@google.com>2020-01-21 17:05:08 +0100
committerIngo Molnar <mingo@kernel.org>2020-03-21 09:41:34 +0100
commit36e4d4dd4fc4f1d99e7966a460a2b12ce438abc2 (patch)
treea17875d3d5cbc77f165ed0eb9f27faba5b28125b /scripts/atomic
parentad4f8eeca8eaa24afb6059c241a2f4baf86378f3 (diff)
downloadlinux-stable-36e4d4dd4fc4f1d99e7966a460a2b12ce438abc2.tar.gz
linux-stable-36e4d4dd4fc4f1d99e7966a460a2b12ce438abc2.tar.bz2
linux-stable-36e4d4dd4fc4f1d99e7966a460a2b12ce438abc2.zip
include/linux: Add instrumented.h infrastructure
This adds instrumented.h, which provides generic wrappers for memory access instrumentation that the compiler cannot emit for various sanitizers. Currently this unifies KASAN and KCSAN instrumentation. In future this will also include KMSAN instrumentation. Note that, copy_{to,from}_user should use special instrumentation, since we should be able to instrument both source and destination memory accesses if both are kernel memory. The current patch only instruments the memory access where the address is always in kernel space, however, both may in fact be kernel addresses when a compat syscall passes an argument allocated in the kernel to a real syscall. In a future change, both KASAN and KCSAN should check both addresses in such cases, as well as KMSAN will make use of both addresses. [It made more sense to provide the completed function signature, rather than updating it and changing all locations again at a later time.] Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Marco Elver <elver@google.com> Acked-by: Alexander Potapenko <glider@google.com> Reviewed-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'scripts/atomic')
0 files changed, 0 insertions, 0 deletions