Re: [PATCH 2/2] x86/asm: Fix inline asm call constraints for clang

From: Dmitry Vyukov
Date: Wed Sep 20 2017 - 14:01:30 EST


On Wed, Sep 20, 2017 at 7:46 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 09/20/17 10:38, Dmitry Vyukov wrote:
>>
>> I think we need just the frame itself and RSP pointing below this
>> frame. If we don't have a frame, CALL instruction will smash whatever
>> RSP happens to point to. Compiler doesn't have to setup RSP to point
>> below used part of stack in leaf functions.
>>
>
> In the kernel it does. Redzoning is not allowed in the kernel, because
> interrupts or exceptions would also smash the redzone.

I see... But it's the same for user-space signals, the first thing a
signal should do is to skip the redzone. I guess interrupt handlers
should switch to interrupt stack which avoids smashing redzone
altogether. Do you mean nested interrupts/exceptions in interrupts?
In my experience frames in leaf functions can have pretty large
performance penalty. Wonder if we have we considered changing
interrupt/exception handlers to avoid smashing redzones and disable
leaf frames?