mirror of
https://github.com/torvalds/linux
synced 2024-10-18 01:08:35 +00:00
f03a50938d
The lkdtm_STACKLEAK_ERASING() test is instrumentable and runs with IRQs unmasked, so it's possible for unrelated code to clobber the task stack and/or manipulate current->lowest_stack while the test is running, resulting in spurious failures. The regular stackleak erasing code is non-instrumentable and runs with IRQs masked, preventing similar issues. Make the body of the test non-instrumentable, and run it with IRQs masked, avoiding such spurious failures. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Alexander Popov <alex.popov@linux.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Kees Cook <keescook@chromium.org> Cc: Will Deacon <will@kernel.org> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20220427173128.2603085-11-mark.rutland@arm.com |
||
---|---|---|
.. | ||
bugs.c | ||
cfi.c | ||
core.c | ||
fortify.c | ||
heap.c | ||
lkdtm.h | ||
Makefile | ||
perms.c | ||
powerpc.c | ||
refcount.c | ||
rodata.c | ||
stackleak.c | ||
usercopy.c |