On 05/03/18 09:27, Jan Beulich wrote:
>>>> On 27.02.18 at 15:50, <andrew.coop...@citrix.com> wrote:
>> -compat_create_bounce_frame:
>> -        ASSERT_INTERRUPTS_ENABLED
>> -        mov   %fs,%edi
>> -        ASM_STAC
>> -        testb $2,UREGS_cs+8(%rsp)
>> -        jz    1f
>> -        /* Push new frame at registered guest-OS stack base. */
>> -        movl  VCPU_kernel_sp(%rbx),%esi
>> -.Lft1:  mov   VCPU_kernel_ss(%rbx),%fs
> Note how we did take into consideration the segment base here;
> pv_create_bounce_frame() doesn't. Hence while the patch here
> is
> Reviewed-by: Jan Beulich <jbeul...@suse.com>
> I'm afraid I have to withdraw the respective tag for the earlier one
> (despite realizing that there are other places where we [wrongly]
> assume stack segments to be flat).

For the failsafe callback, %ss is set to be flat, and then a bounce
frame is created at the current kernel_sp.

Despite the impression the API might give, a 32bit PV kernel cannot use
a non-flat stack segment.  No PV guest (not even MiniOS) uses a non-flat
layout, so while this is a change of behaviour, its not going to break
anything.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to