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