From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Tim Deegan <tim@xen.org>
Cc: Joe Epstein <jepstein98@gmail.com>,
keir@xen.org, Jan Beulich <jbeulich@suse.com>,
xen-devel@lists.xen.org
Subject: Re: [PATCH 18/23] arch/x86: Add missing mem_sharing XSM hooks
Date: Thu, 27 Sep 2012 12:11:49 -0400 [thread overview]
Message-ID: <50647AC5.9080905@tycho.nsa.gov> (raw)
In-Reply-To: <20120927130956.GE8831@ocelot.phlegethon.org>
On 09/27/2012 09:09 AM, Tim Deegan wrote:
> Cc'ing Joe, the author of the original check I'm talking about below.
>
> At 11:23 -0400 on 17 Sep (1347881020), Daniel De Graaf wrote:
>> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
>> index 24e2d93..7062f02 100644
>> --- a/xen/arch/x86/domctl.c
>> +++ b/xen/arch/x86/domctl.c
>> @@ -1447,10 +1447,8 @@ long arch_do_domctl(
>> d = rcu_lock_domain_by_id(domctl->domain);
>> if ( d != NULL )
>> {
>> - ret = xsm_mem_event(d);
>> - if ( !ret )
>> - ret = mem_event_domctl(d, &domctl->u.mem_event_op,
>> - guest_handle_cast(u_domctl, void));
>> + ret = mem_event_domctl(d, &domctl->u.mem_event_op,
>> + guest_handle_cast(u_domctl, void));
>> rcu_unlock_domain(d);
>> copy_to_guest(u_domctl, domctl, 1);
>> }
>> @@ -1506,7 +1504,7 @@ long arch_do_domctl(
>> d = rcu_lock_domain_by_id(domctl->domain);
>> if ( d != NULL )
>> {
>> - ret = xsm_mem_event(d);
>> + ret = xsm_mem_event_setup(d);
>> if ( !ret ) {
>> p2m = p2m_get_hostp2m(d);
>> p2m->access_required = domctl->u.access_required.access_required;
>
> [...]
>
>> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
>> index 626a332..5fb0afe 100644
>> --- a/xen/include/xsm/dummy.h
>> +++ b/xen/include/xsm/dummy.h
>> @@ -551,16 +551,37 @@ static XSM_DEFAULT(int, hvm_inject_msi) (struct domain *d)
>> return 0;
>> }
>>
>> -static XSM_DEFAULT(int, mem_event) (struct domain *d)
>> +static XSM_DEFAULT(int, mem_event_setup) (struct domain *d)
>> {
>> return 0;
>> }
>
> I think this ought to be at least IS_PRIV_FOR. I can see the original
> code allowed all callers to use it, but surely it ought to be only for
> the tools. Since only the tools can actually set the mem-access rights
> (and so this is pretty much a noop) I don't think this causes any
> substantial problem but we might as well adjust it anyway.
>
> Tim.
Because this is a domctl, it already requires IS_PRIV as checked by
xsm_domctl (and was already checked before this series).
--
Daniel De Graaf
National Security Agency
next prev parent reply other threads:[~2012-09-27 16:11 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-17 15:23 [PATCH v4] Merge IS_PRIV checks into XSM hooks Daniel De Graaf
2012-09-17 15:23 ` [PATCH 01/23] xsm/flask: remove inherited class attributes Daniel De Graaf
2012-09-17 15:23 ` [PATCH 02/23] xsm/flask: remove unneeded create_sid field Daniel De Graaf
2012-09-17 15:23 ` [PATCH 03/23] xen: Add versions of rcu_lock_*_domain without IS_PRIV checks Daniel De Graaf
2012-09-17 15:23 ` [PATCH 04/23] xsm/flask: add domain relabel support Daniel De Graaf
2012-09-17 15:23 ` [PATCH 05/23] libxl: introduce XSM relabel on build Daniel De Graaf
2012-09-17 15:23 ` [PATCH 06/23] flask/policy: Add domain relabel example Daniel De Graaf
2012-09-17 15:23 ` [PATCH 07/23] arch/x86: add distinct XSM hooks for map/unmap Daniel De Graaf
2012-09-17 15:23 ` [PATCH 08/23] xsm/flask: Add checks on the domain performing the set_target operation Daniel De Graaf
2012-09-17 15:23 ` [PATCH 09/23] xsm: Use the dummy XSM module if XSM is disabled Daniel De Graaf
2012-09-17 15:23 ` [PATCH 10/23] xen: use XSM instead of IS_PRIV where duplicated Daniel De Graaf
2012-09-17 15:23 ` [PATCH 11/23] xen: avoid calling rcu_lock_*target_domain when an XSM hook exists Daniel De Graaf
2012-09-17 15:23 ` [PATCH 12/23] arch/x86: convert platform_hypercall to use XSM Daniel De Graaf
2012-09-17 15:23 ` [PATCH 13/23] xen: lock target domain in do_domctl common code Daniel De Graaf
2012-09-17 15:23 ` [PATCH 14/23] xen: convert do_domctl to use XSM Daniel De Graaf
2012-09-17 15:23 ` [PATCH 15/23] xen: convert do_sysctl " Daniel De Graaf
2012-09-17 15:23 ` [PATCH 16/23] xsm/flask: add missing hooks Daniel De Graaf
2012-09-17 15:23 ` [PATCH 17/23] xsm/flask: add distinct SIDs for self/target access Daniel De Graaf
2012-09-17 15:23 ` [PATCH 18/23] arch/x86: Add missing mem_sharing XSM hooks Daniel De Graaf
2012-09-27 13:09 ` Tim Deegan
2012-09-27 16:11 ` Daniel De Graaf [this message]
2012-09-27 16:27 ` Tim Deegan
2012-09-17 15:23 ` [PATCH 19/23] arch/x86: check remote MMIO remap permissions Daniel De Graaf
2012-09-18 7:21 ` Jan Beulich
2012-09-18 14:09 ` Daniel De Graaf
2012-09-19 17:23 ` [PATCH 19/23 v2] " Daniel De Graaf
2012-09-20 6:52 ` Jan Beulich
2012-09-24 14:14 ` [PATCH v3] " Daniel De Graaf
2012-09-17 15:23 ` [PATCH 20/23] arch/x86: use XSM hooks for get_pg_owner access checks Daniel De Graaf
2012-09-17 15:23 ` [PATCH 21/23] xen: Add XSM hook for XENMEM_exchange Daniel De Graaf
2012-09-17 15:23 ` [PATCH 22/23] tmem: add XSM hooks Daniel De Graaf
2012-09-17 15:23 ` [PATCH 23/23] xen/arch/*: add struct domain parameter to arch_do_domctl Daniel De Graaf
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=50647AC5.9080905@tycho.nsa.gov \
--to=dgdegra@tycho.nsa.gov \
--cc=jbeulich@suse.com \
--cc=jepstein98@gmail.com \
--cc=keir@xen.org \
--cc=tim@xen.org \
--cc=xen-devel@lists.xen.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.