All of lore.kernel.org
 help / color / mirror / Atom feed
From: Razvan Cojocaru <rcojocaru@bitdefender.com>
To: George Dunlap <george.dunlap@citrix.com>,
	Adrian Pop <apop@bitdefender.com>,
	xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	Julien Grall <julien.grall@arm.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Sergej Proskurin <proskurin@sec.in.tum.de>
Subject: Re: [PATCH v5 3/3] x86/altp2m: Add a hvmop for querying the suppress #VE bit
Date: Fri, 21 Sep 2018 16:16:22 +0300	[thread overview]
Message-ID: <9019edcd-89c5-4bd7-6ba1-10fa27524fe4@bitdefender.com> (raw)
In-Reply-To: <24239a31-9d31-57dd-06f3-68aba641e263@citrix.com>

On 9/20/18 3:50 PM, George Dunlap wrote:
> On 09/03/2018 04:48 PM, Adrian Pop wrote:
>> Signed-off-by: Adrian Pop <apop@bitdefender.com>
>> +++ b/xen/arch/x86/mm/mem_access.c
>> @@ -550,6 +550,51 @@ out:
>>      return rc;
>>  }
>>  
>> +int p2m_get_suppress_ve(struct domain *d, gfn_t gfn, bool *suppress_ve,
>> +                        unsigned int altp2m_idx)
>> +{
>> +    struct p2m_domain *host_p2m = p2m_get_hostp2m(d);
>> +    struct p2m_domain *ap2m = NULL;
>> +    struct p2m_domain *p2m;
>> +    mfn_t mfn;
>> +    p2m_access_t a;
>> +    p2m_type_t t;
>> +
>> +    if ( !cpu_has_vmx_virt_exceptions )
>> +        return -EOPNOTSUPP;
>> +
>> +    /* #VE should be enabled for this vcpu. */
>> +    if ( gfn_eq(vcpu_altp2m(current).veinfo_gfn, INVALID_GFN) )
>> +        return -ENXIO;
> 
> Basically the same comments as for 2/3:  Move to p2m.c, and get rid of
> the vmx-ism.
> 
> Anothre idea is to get rid of these checks altogether -- returning
> 'false' when the feature isn't supported or enabled shouldn't be a big
> deal.  But I don't feel strongly enough about it to argue either way.

I've moved the functions to p2m.c and started moving the checks when it
occured to me that it might be cha to move them to ept_get_entry() /
ept_set_entry() in p2m-ept.c.

ept_get_entry() uses a bool_t *sve pointer, so I could check if the
pointer is not NULL, and if it's not perform the checks then, and so
require the caller to always pass a NULL pointer in non-#VE cases.
Still, ept_get_entry() returns a mfn_t, so all can do there is return
INVALID_MFN, which is not very helpful.

ept_set_entry() is more complicated: it takes "int sve" as a parameter
(which makes sense because it can also be -1) - but then really there's
no special value which should trigger a check. Any value could be a
legitimate attempt to set that bit - although 0 (clearing it) might be
viewed as a special case, like it is in the NPT code.

I could indeed remove all the checks and allow setting and getting that
bit regardless of whether #VE is enabled and / or available - if that's
acceptable (though I believe someone has required the checks at some
point in Adrian's work with the patches).


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2018-09-21 13:16 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-03 15:48 [PATCH v5 0/3] Add hvmops for setting and getting the suppress #VE bit Adrian Pop
2018-09-03 15:48 ` [PATCH v5 1/3] x86/mm: Change default value for suppress #VE in set_mem_access() Adrian Pop
2018-09-11 18:08   ` Tamas K Lengyel
2018-09-12  4:02     ` Adrian Pop
2018-09-03 15:48 ` [PATCH v5 2/3] x86/altp2m: Add a hvmop for setting the suppress #VE bit Adrian Pop
2018-09-20 11:34   ` George Dunlap
2018-09-20 11:38     ` Razvan Cojocaru
2018-09-20 15:52     ` Razvan Cojocaru
     [not found]       ` <CAFLBxZY0am2E01iLpZDcboFG7a1-S47Dwnd-qjp5YqQxGAdejQ@mail.gmail.com>
2018-09-23 16:33         ` George Dunlap
2018-09-23 17:09           ` Razvan Cojocaru
2018-09-03 15:48 ` [PATCH v5 3/3] x86/altp2m: Add a hvmop for querying " Adrian Pop
2018-09-11 18:02   ` Tamas K Lengyel
2018-09-12  4:01     ` Adrian Pop
2018-09-19 14:48   ` Wei Liu
2018-09-20  7:46     ` Razvan Cojocaru
2018-09-20  7:53       ` Wei Liu
2018-09-20  8:38         ` Wei Liu
2018-09-20 12:50   ` George Dunlap
2018-09-21 13:16     ` Razvan Cojocaru [this message]
2018-09-21 13:17       ` Razvan Cojocaru

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9019edcd-89c5-4bd7-6ba1-10fa27524fe4@bitdefender.com \
    --to=rcojocaru@bitdefender.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=apop@bitdefender.com \
    --cc=george.dunlap@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=proskurin@sec.in.tum.de \
    --cc=sstabellini@kernel.org \
    --cc=tamas@tklengyel.com \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.