On 07/09/17 11:05, gengdongjiu wrote: > Hi James, > > On 2017/9/7 17:20, James Morse wrote: >> Hi Dongjiu Geng, >> >> On 07/09/17 06:54, Dongjiu Geng wrote: >>> In VHE mode, host kernel runs in the EL2 and can enable >>> 'User Access Override' when fs==KERNEL_DS so that it can >>> access kernel memory. However, PSTATE.UAO is set to 0 on >>> an exception taken from EL1 to EL2. Thus when VHE is used >>> and exception taken from a guest UAO will be disabled and >>> host will use the incorrect PSTATE.UAO. So check and reset >>> the PSTATE.UAO when switching to host. >> >> This would only be a problem if KVM were calling into world-switch with >> fs==KERNEL_DS. I can't see where this happens. > Not only KVM, may also kernel sets the fs == KERNEL_DS before calling into world-switch How? Please describe the exact sequence of event that lead to this situation with the current code base. M. -- Jazz is not dead. It just smells funny...