From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yang Zhang Subject: Re: [PATCH V4 7/7] KVM, pkeys: disable PKU feature without ept Date: Wed, 9 Mar 2016 14:37:50 +0800 Message-ID: <56DFC4BE.8080406@gmail.com> References: <1457177252-7577-1-git-send-email-huaitong.han@intel.com> <1457177252-7577-8-git-send-email-huaitong.han@intel.com> <56DBF834.1020309@linux.intel.com> <56DC93D1.2070204@redhat.com> <56DE6919.4060107@linux.intel.com> <56DE91BD.4010502@redhat.com> <56DE9C45.4090504@linux.intel.com> <56DEA33B.1010005@redhat.com> <56DFB9E4.1050609@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org To: Xiao Guangrong , Paolo Bonzini , Huaitong Han , gleb@kernel.org Return-path: Received: from mail-pa0-f65.google.com ([209.85.220.65]:34319 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750902AbcCIGhy (ORCPT ); Wed, 9 Mar 2016 01:37:54 -0500 Received: by mail-pa0-f65.google.com with SMTP id hj7so2626334pac.1 for ; Tue, 08 Mar 2016 22:37:54 -0800 (PST) In-Reply-To: <56DFB9E4.1050609@linux.intel.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2016/3/9 13:51, Xiao Guangrong wrote: > > > On 03/08/2016 06:02 PM, Paolo Bonzini wrote: >> >> >> On 08/03/2016 10:32, Xiao Guangrong wrote: >>> On 03/08/2016 04:47 PM, Paolo Bonzini wrote: >>>> Some XSAVE features (currently only MPX, but in the future PKRU to= o) >>>> will force eagerfpu on, see fpu__init_system_ctx_switch: >>>> >>>> if (xfeatures_mask & XFEATURE_MASK_EAGER) { >>>> if (eagerfpu =3D=3D DISABLE) { >>>> xfeatures_mask &=3D ~XFEATURE_MASK_EAGER= ; >>> >>> So if the kernel parameter, eagerfpu is set to "off", then eager is= not >>> enabled, so PKRU can not work in KVM? >> >> Yes. Neither PKRU nor MPX. > > Er... I noticed fpregs is not switched if the CPU is running in KVM m= odule > (vcpu is not scheduled out and does not exit to userspace), that is w= hy > read_pkru() can be used to read guest's PKRU in the patch 4. > > However, then guest can fully control the access of userspace's memor= y if > CR4.PKRU is enabled on host and KVM needs to access QEMU's memory to = do > some > emulation anyway. Is it really safe=EF=BC=9F I think it depends on how we understand the guest uses Pkeys. From my=20 point, guest only wants to protect the pages from guest's view, not kvm= =2E=20 So the access from KVM should be totally transparent to guest. And=20 should not be aware by guest. For modification, i think current KVM onl= y=20 touch the DMA buffer which is setup by guest driver. It's guest=20 responsibility to ensure the pages he want to protect are not used as=20 DMA buffer. --=20 best regards yang