From: George Dunlap <george.dunlap@eu.citrix.com>
To: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Cc: Jan Beulich <JBeulich@suse.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH v3 0/11] Rename/remove IS_PRIV
Date: Mon, 22 Apr 2013 13:13:59 +0100 [thread overview]
Message-ID: <51752987.1040507@eu.citrix.com> (raw)
In-Reply-To: <51701AF4.7010301@tycho.nsa.gov>
On 18/04/13 17:10, Daniel De Graaf wrote:
> On 04/18/2013 11:12 AM, Jan Beulich wrote:
>>>>> On 12.04.13 at 23:04, Daniel De Graaf <dgdegra@tycho.nsa.gov> wrote:
>>> Changes since v2:
>>> - Handle XEN_SYSCTL_CPUPOOL_OP_MOVEDOMAIN separately
>>> - Use is_control_domain for CPUID
>>> - Use is_{control,hardware}_domain for TSC
>>> - MAINTAINERS patch included in series
>>>
>>> ---
>>>
>>> Following the conversion of most IS_PRIV hooks to XSM, the remaining
>>> references to this function generally deal with direct hardware access
>>> and not with the type of privilege checks that are best controlled by
>>> XSM. To reflect this, the IS_PRIV check is renamed to is_hardware_domain
>>> and is used only when dealing with accesses that are both required by
>>> dom0 and where it does not make sense to grant access to a domain other
>>> than dom0.
>>>
>>> There are a number of existing places in the hypervisor that check
>>> domain_id for equality to zero to make some distinction on dom0; this
>>> series replaces these checks with is_hardware_domain to be consistent in
>>> how the hypervisor checks a domain's access.
>>>
>>> Independent changes related to this series:
>>> [PATCH 01/11] MAINTAINERS: Add myself as XSM maintainer
>>> [PATCH 08/11] xen/cpupool: prevent a domain from moving itself
>>>
>>> Cleanup of IS_PRIV checks that should not be is_hardware_domain:
>>> [PATCH 02/11] xen/arch/x86: remove IS_PRIV access check bypasses
>>> [PATCH 03/11] xen/xsm: add hooks for claim
>>> [PATCH 04/11] hvm: convert access check for nested HVM to XSM
>>> [PATCH 05/11] xen/arch/x86: remove IS_PRIV_FOR references
>>> [PATCH 06/11] xen/arch/arm: remove rcu_lock_target_domain_by_id
>>>
>>> Replace remaining calls to IS_PRIV:
>>> [PATCH 07/11] xen: rename IS_PRIV to is_hardware_domain
>>>
>>> Use is_hardware_domain locations where (domid == 0) was used:
>>> [PATCH 09/11] xen: use domid check in is_hardware_domain
>>> [PATCH 10/11] xen/arch/x86: clarify domid == 0 checks
>>> [PATCH 11/11] IOMMU: use is_hardware_domain instead of domid == 0
>> While patch 1 went in a few days ago, patch 2 was held up just by
>> XSA-46, which went public today. Consequently I also committed
>> patch 2 a few minutes ago.
> After looking at the XSA-46 patch, I think a the IS_PRIV removal can still
> be usefully applied to the XEN_DOMCTL_{bind,unbind}_pt_irq functions - I'll
> send the patch in a minute for comment.
>
>> For the rest of the series, however, I would want you two to work
>> out the release related aspects, and I'd look into committing parts
>> that I'm permitted to commit once I saw George's ack.
> George:
>
> Here are my thoughts on the viability of these patches for a freeze
> exception; I tried to address them in order from most to least important.
>
> Patch 8 fixes a bug with cpupools, although it is unlikely this bug will
> be hit on a normal setup since it requires the cpupool operation to be
> invoked from a domain other than dom0. It is also independent of the other
> patches in this series, and I see no reason not to include it in 4.3.
>
> Patches 3-5 just change the behavior with XSM enabled, and makes these
> access vectors more consistent with the rest of the hypervisor in the use
> of XSM hooks when doing access checks related to domain permissions. I
> think there is good reason to include these in 4.3, assuming there are no
> technical objections.
>
> Patch 6 only changes ARM code, and should only change behavior with XSM
> enabled. Since XSM on ARM is not really tested yet, this is less important
> for 4.3 - although it allows removing some of the functions that were replaced
> by XSM hooks, which may help avoid reintroducing users of these functions.
>
> Patches 7 and 9-11 introduce is_hardware_domain as a wrapper on (domid == 0).
> Since the hypervisor does not currently support setting is_privileged on
> non-dom0 domains, the test is equivalent to IS_PRIV - just a cosmetic change.
> The changes to .c files in patches 9-11 should produce identical code after
> preprocessing and so have almost zero chance of introducing a bug.
Remind me what the main benefit of this patch series is? Does this
allow a greater degree of disaggregation?
And, given that this is primarily about security, do you really want a
brand new feature in users' hands with only 8 weeks of in-tree testing?
-George
next prev parent reply other threads:[~2013-04-22 12:13 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-12 21:04 [PATCH v3 0/11] Rename/remove IS_PRIV Daniel De Graaf
2013-04-12 21:04 ` [PATCH 01/11] MAINTAINERS: Add myself as XSM maintainer Daniel De Graaf
2013-04-12 21:04 ` [PATCH 02/11] xen/arch/x86: remove IS_PRIV access check bypasses Daniel De Graaf
2013-04-12 21:04 ` [PATCH 03/11] xen/xsm: add hooks for claim Daniel De Graaf
2013-04-12 21:04 ` [PATCH 04/11] hvm: convert access check for nested HVM to XSM Daniel De Graaf
2013-04-12 21:04 ` [PATCH 05/11] xen/arch/x86: remove IS_PRIV_FOR references Daniel De Graaf
2013-04-12 21:04 ` [PATCH 06/11] xen/arch/arm: remove rcu_lock_target_domain_by_id Daniel De Graaf
2013-04-12 21:04 ` [PATCH 07/11] xen: rename IS_PRIV to is_hardware_domain Daniel De Graaf
2013-04-12 21:04 ` [PATCH 08/11] xen/cpupool: prevent a domain from moving itself Daniel De Graaf
2013-04-19 9:43 ` Jürgen Groß
2013-04-12 21:04 ` [PATCH 09/11] xen: use domid check in is_hardware_domain Daniel De Graaf
2013-04-12 21:04 ` [PATCH 10/11] xen/arch/x86: clarify domid == 0 checks Daniel De Graaf
2013-04-15 8:51 ` Jan Beulich
2013-04-15 13:47 ` Daniel De Graaf
2013-04-18 15:09 ` Jan Beulich
2013-04-12 21:04 ` [PATCH 11/11] IOMMU: use is_hardware_domain instead of domid == 0 Daniel De Graaf
2013-04-18 15:12 ` [PATCH v3 0/11] Rename/remove IS_PRIV Jan Beulich
2013-04-18 16:10 ` Daniel De Graaf
2013-04-18 16:11 ` [PATCH] xen/arch/x86: remove IS_PRIV bypass on IRQ check Daniel De Graaf
2013-04-18 16:20 ` Jan Beulich
2013-04-22 12:13 ` George Dunlap [this message]
2013-04-22 15:05 ` [PATCH v3 0/11] Rename/remove IS_PRIV Daniel De Graaf
2013-04-22 15:09 ` George Dunlap
2013-04-23 9:59 ` Jan Beulich
2013-05-03 7:39 ` Jan Beulich
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=51752987.1040507@eu.citrix.com \
--to=george.dunlap@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=dgdegra@tycho.nsa.gov \
--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.