aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Rutland <[email protected]>2022-04-27 18:31:18 +0100
committerKees Cook <[email protected]>2022-05-08 01:33:07 -0700
commitac7838b4e1c552d54e67f78a29bc1bd7701c13e8 (patch)
tree63c54cc34afbf4b51c0b05b19598be0e35abf5f9
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 <[email protected]> Cc: Alexander Popov <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Kees Cook <[email protected]> Signed-off-by: Kees Cook <[email protected]> Link: https://lore.kernel.org/r/[email protected]
-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)