On 27/02/17 14:03, Andrew Cooper wrote: > All actions which refer to the active ldt/gdt/idt or task register > (e.g. loading a new segment selector) are known as implicit supervisor > accesses, even when the access originates from user code.
It turns out that this has a bugfix in it which I hadn't realised. I have added: "Right away, this fixes a bug during userspace emulation where a pagewalk for a system table was (incorrectly) performed as a user access, causing an access violation in the common case, as system tables reside on supervisor mappings." ~Andrew > > The distinction is necessary in the pagewalk when SMAP is enabled. Refer to > Intel SDM Vol 3 "Access Rights" for the exact details. > > Introduce a new pagewalk input, and make use of the new system segment > references in hvmemul_{read,write}(). While modifying those areas, move the > calculation of the appropriate pagewalk input before its first use. > > Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel