[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.8] x86/emul: Reject LGDT/LIDT attempts with non-canonical base addresses
On 02/11/16 15:42, Jan Beulich wrote: >>>> On 02.11.16 at 15:52, <andrew.cooper3@xxxxxxxxxx> wrote: >> No sane OS would deliberately try this, but make Xen's emulation match real >> hardware by delivering #GP(0), rather than suffering a VMEntry failure. >> >> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > albeit ... > >> --- a/xen/arch/x86/x86_emulate/x86_emulate.c >> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c >> @@ -4443,6 +4443,8 @@ x86_emulate( >> (rc = read_ulong(ea.mem.seg, ea.mem.off+2, >> &base, mode_64bit() ? 8 : 4, ctxt, ops)) ) >> goto done; >> + generate_exception_if(mode_64bit() && >> + !is_canonical_address(base), EXC_GP, 0); > ... I don't think the mode_64bit() part is needed. True - as we explicitly zero sreg to start with, the canonical base check is safe in all modes. I will drop it from v2. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |