Re: [PATCH 00/33] Compile-time stack metadata validation

From: Peter Zijlstra
Date: Fri Feb 12 2016 - 12:11:08 EST


On Fri, Feb 12, 2016 at 08:45:43AM -0600, Josh Poimboeuf wrote:
> On Fri, Feb 12, 2016 at 11:36:24AM +0100, Jiri Slaby wrote:
>
> This seems like a real frame pointer bug caused by the following line in
> arch/x86/include/asm/preempt.h:
>
> # define __preempt_schedule() asm ("call ___preempt_schedule")

The purpose there is that:

preempt_enable();

turns into:

decl __percpu_prefix:__preempt_count
jnz 1f:
call ___preempt_schedule
1:

See arch/x86/include/asm/preempt.h:__preempt_count_dec_and_test()