qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-2.12] linux-user/signal.c: Put AArch64 frame


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH for-2.12] linux-user/signal.c: Put AArch64 frame record in the right place
Date: Mon, 16 Apr 2018 15:30:14 +0100

On 13 April 2018 at 05:46, Richard Henderson
<address@hidden> wrote:
> On 04/12/2018 04:02 AM, Peter Maydell wrote:
>> AArch64 stack frames include a 'frame record' which holds a pointer
>> to the next frame record in the chain and the LR on entry to the
>> function. The procedure calling standard doesn't mandate where
>> exactly this frame record is in the stack frame, but for signal
>> frames the kernel puts it right at the top. We used to put it
>> there too, but in commit 7f0f4208b3a96f22 we accidentally put
>> the "enlarge to the 4K reserved space minimum" check after the
>> "allow for the frame record" code, rather than before it, with
>> the effect that the frame record would be inside the reserved
>> space and immediately after the last used part of it.
>>
>> Move the frame record back out of the reserved space to where
>> we used to put it.
>>
>> This bug shouldn't break any sensible guest code, but test
>> programs that deliberately look at the internal details
>> of the signal frame layout will not find what they are
>> expecting to see.
>>
>> Fixes: 7f0f4208b3a96f22
>> Signed-off-by: Peter Maydell <address@hidden>
>
> Reviewed-by: Richard Henderson <address@hidden>
>> I'm marking this as for-2.12 on the basis that it puts our frame
>> layout back to exactly what 2.11 had, and so seems safest.
>> No sensible guest code should really care, though, so this is
>> in the "only if we're doing an rc4" bucket; but I think that the
>> softfloat fixes deserve an rc4 anyway.

We needed an rc4, so I've applied this to master.

-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]