Message ID | 1534457824-7211-8-git-send-email-alex.popov@linux.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Introduce the STACKLEAK feature and a test for it | expand |
On Fri, Aug 17, 2018 at 01:17:04AM +0300, Alexander Popov wrote: > Drop stackleak_check_alloca() for arm64 since the STACKLEAK gcc plugin now > doesn't track stack depth overflow caused by alloca(). > > Signed-off-by: Alexander Popov <alex.popov@linux.com> > --- > arch/arm64/kernel/process.c | 22 ---------------------- > 1 file changed, 22 deletions(-) Acked-by: Will Deacon <will.deacon@arm.com> Thanks, Will > diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c > index 7f1628e..740b31f 100644 > --- a/arch/arm64/kernel/process.c > +++ b/arch/arm64/kernel/process.c > @@ -493,25 +493,3 @@ void arch_setup_new_exec(void) > { > current->mm->context.flags = is_compat_task() ? MMCF_AARCH32 : 0; > } > - > -#ifdef CONFIG_GCC_PLUGIN_STACKLEAK > -void __used stackleak_check_alloca(unsigned long size) > -{ > - unsigned long stack_left; > - unsigned long current_sp = current_stack_pointer; > - struct stack_info info; > - > - BUG_ON(!on_accessible_stack(current, current_sp, &info)); > - > - stack_left = current_sp - info.low; > - > - /* > - * There's a good chance we're almost out of stack space if this > - * is true. Using panic() over BUG() is more likely to give > - * reliable debugging output. > - */ > - if (size >= stack_left) > - panic("alloca() over the kernel stack boundary\n"); > -} > -EXPORT_SYMBOL(stackleak_check_alloca); > -#endif > -- > 2.7.4 >
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c index 7f1628e..740b31f 100644 --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -493,25 +493,3 @@ void arch_setup_new_exec(void) { current->mm->context.flags = is_compat_task() ? MMCF_AARCH32 : 0; } - -#ifdef CONFIG_GCC_PLUGIN_STACKLEAK -void __used stackleak_check_alloca(unsigned long size) -{ - unsigned long stack_left; - unsigned long current_sp = current_stack_pointer; - struct stack_info info; - - BUG_ON(!on_accessible_stack(current, current_sp, &info)); - - stack_left = current_sp - info.low; - - /* - * There's a good chance we're almost out of stack space if this - * is true. Using panic() over BUG() is more likely to give - * reliable debugging output. - */ - if (size >= stack_left) - panic("alloca() over the kernel stack boundary\n"); -} -EXPORT_SYMBOL(stackleak_check_alloca); -#endif
Drop stackleak_check_alloca() for arm64 since the STACKLEAK gcc plugin now doesn't track stack depth overflow caused by alloca(). Signed-off-by: Alexander Popov <alex.popov@linux.com> --- arch/arm64/kernel/process.c | 22 ---------------------- 1 file changed, 22 deletions(-)