]> git.baikalelectronics.ru Git - kernel.git/commit
context_tracking: Fix noinstr vs KASAN
authorPeter Zijlstra <peterz@infradead.org>
Thu, 12 Jan 2023 19:44:05 +0000 (20:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:33:45 +0000 (09:33 +0100)
commit25494687a5c3554df6bd9cc4bcfdc5aa0682af15
tree1abbdfc4044e8319d08531a6fa1f7bbb1bf0a5fa
parent581a344ba7a74b27fc522d7ad8735329a3a3969c
context_tracking: Fix noinstr vs KASAN

[ Upstream commit 3f6265f0e607d2659da6c5e2f1d60bd2a557a584 ]

Low level noinstr context-tracking code is calling out to instrumented
code on KASAN:

  vmlinux.o: warning: objtool: __ct_user_enter+0x72: call to __kasan_check_write() leaves .noinstr.text section
  vmlinux.o: warning: objtool: __ct_user_exit+0x47: call to __kasan_check_write() leaves .noinstr.text section

Use even lower level atomic methods to avoid the instrumentation.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230112195542.458034262@infradead.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/context_tracking.c