[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] about fully UMIP support in Xen
On 19/04/17 14:34, Jan Beulich wrote: >>>> On 19.04.17 at 13:44, <yu.c.zhang@xxxxxxxxxxxxxxx> wrote: >> On 4/19/2017 7:19 PM, Jan Beulich wrote: >>>>>> On 19.04.17 at 11:48, <yu.c.zhang@xxxxxxxxxxxxxxx> wrote: >>>> Does hypervisor need to differentiate dom0 kernel and its >>>> user space? >>> If we want to para-virtualize the feature, then yes. Otherwise >>> we can't assume the guest kernel would deal with user mode faults, >>> so we'd have to. Arguably there could be a non-default mode in >>> which we don't (forcing such applications to get a signal or crash). >> For UMIP is to be para-virtualized, is it OK to give dom0 kernel the >> physical value >> if instructions are triggered in the kernel? > Why would you want to special case Dom0 here? I don't see > anything wrong with giving Dom0 the real values, but since you'll > have to not give DomU-s the real values, you'd then add more > code to treat Dom0 specially. Simply give everyone fake values. > >> And if the instructions are triggered in dom0 user space, the spec >> requires a #GP >> fault, and we can return 0 to the application in the #GP fault handler, >> is it OK? > Yes, I think so. But the fundamental rule is - make it match what > native Linux does in that case. The attack scenario for PV guests is different. The point of UMIP there is to protect Xen against guests, including guest kernels. If a PV kernel is aware of UMIP and turns UMIP on, #GPs from userspace should be bounced to the kernel, and #GPs from kernel space (as it is ring-deprivileged) must be emulated and execute successfully. If Xen is using UMIP to protect itself, it needs to emulate and fake up the information to both guest userspace and kernelspace. If both Xen and the PV kernel turn on UMIP, Xen needs to bounce userspace #GPs to the guest kernel, and fake up information for the guest kernel. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |