]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
stackleak: add on/off stack variants
authorMark Rutland <mark.rutland@arm.com>
Wed, 27 Apr 2022 17:31:27 +0000 (18:31 +0100)
committerKees Cook <keescook@chromium.org>
Sun, 8 May 2022 08:33:09 +0000 (01:33 -0700)
commit8111e67dee9ff774712cff8e34fba465c8361960
treef7939bb13d63ab03d22651a35e73b17a703d212a
parentf171d695f3adfd8093272fa5776ef4a2c6b9cf08
stackleak: add on/off stack variants

The stackleak_erase() code dynamically handles being on a task stack or
another stack. In most cases, this is a fixed property of the caller,
which the caller is aware of, as an architecture might always return
using the task stack, or might always return using a trampoline stack.

This patch adds stackleak_erase_on_task_stack() and
stackleak_erase_off_task_stack() functions which callers can use to
avoid on_thread_stack() check and associated redundant work when the
calling stack is known. The existing stackleak_erase() is retained as a
safe default.

There should be no functional change as a result of this patch.

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: Kees Cook <keescook@chromium.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220427173128.2603085-13-mark.rutland@arm.com
kernel/stackleak.c