aboutsummaryrefslogtreecommitdiff
path: root/kernel/stackleak.c
diff options
context:
space:
mode:
authorMark Rutland2022-04-27 18:31:18 +0100
committerKees Cook2022-05-08 01:33:07 -0700
commitac7838b4e1c552d54e67f78a29bc1bd7701c13e8 (patch)
tree63c54cc34afbf4b51c0b05b19598be0e35abf5f9 /kernel/stackleak.c
parenta12685e2d1f7eed58ee408ba375606577b59610c (diff)
stackleak: remove redundant check
In __stackleak_erase() we check that the `erase_low` value derived from `current->lowest_stack` is above the lowest legitimate stack pointer value, but this is already enforced by stackleak_track_stack() when recording the lowest stack value. Remove the redundant check. 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-4-mark.rutland@arm.com
Diffstat (limited to 'kernel/stackleak.c')
-rw-r--r--kernel/stackleak.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/kernel/stackleak.c b/kernel/stackleak.c
index 753eab797a04..f7a0f8cf73c3 100644
--- a/kernel/stackleak.c
+++ b/kernel/stackleak.c
@@ -78,10 +78,6 @@ static __always_inline void __stackleak_erase(void)
unsigned int poison_count = 0;
const unsigned int depth = STACKLEAK_SEARCH_DEPTH / sizeof(unsigned long);
- /* Check that 'lowest_stack' value is sane */
- if (unlikely(kstack_ptr - boundary >= THREAD_SIZE))
- kstack_ptr = boundary;
-
/* Search for the poison value in the kernel stack */
while (kstack_ptr > boundary && poison_count <= depth) {
if (*(unsigned long *)kstack_ptr == STACKLEAK_POISON)