x86/xen/32: Simplify ring check in xen_iret_crit_fixup()
authorJan Beulich <jbeulich@suse.com>
Mon, 11 Nov 2019 14:32:59 +0000 (15:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 29 Nov 2019 09:09:50 +0000 (10:09 +0100)
commit274ad46fb74dcbeef466307eb1b3204cbc68a370
treec456785d0f18adf8b95dfe5ff4779e1e4c20c0b3
parent5f74e73ec3fb98fd7694bf3896dd29c2a22dd922
x86/xen/32: Simplify ring check in xen_iret_crit_fixup()

commit 922eea2ce5c799228d9ff1be9890e6873ce8fff6 upstream.

This can be had with two instead of six insns, by just checking the high
CS.RPL bit.

Also adjust the comment - there would be no #GP in the mentioned cases, as
there's no segment limit violation or alike. Instead there'd be #PF, but
that one reports the target EIP of said branch, not the address of the
branch insn itself.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lkml.kernel.org/r/a5986837-01eb-7bf8-bf42-4d3084d6a1f5@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/xen/xen-asm_32.S