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

Peter Zijlstra
2016-02-12T17:11:00Z

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()