kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Greg KH <greg@kroah.com>
Cc: Chris Wright <chrisw@sous-sol.org>,
	matthew@wil.cx, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	ddutile@redhat.com, alex.williamson@redhat.com
Subject: Re: [PATCH 2/2] pci: allow sysfs file owner to read device dependent config space
Date: Fri, 14 May 2010 12:26:15 -0700	[thread overview]
Message-ID: <20100514122615.69026481@virtuousgeek.org> (raw)
In-Reply-To: <20100514190923.GE2505@kroah.com>

On Fri, 14 May 2010 12:09:23 -0700
Greg KH <greg@kroah.com> wrote:

> On Wed, May 12, 2010 at 06:29:57PM -0700, Chris Wright wrote:
> > The PCI config space bin_attr read handler has a hardcoded CAP_SYS_ADMIN
> > check to verify privileges before allowing a user to read device
> > dependent config space.  This is meant to protect from an unprivileged
> > user potentially locking up the box.
> > 
> > When assigning a PCI device directly to a guest with libvirt and KVM,
> > the sysfs config space file is chown'd to the unprivileged user that
> > the KVM guest will run as.  The guest needs to have full access to the
> > device's config space since it's responsible for driving the device.
> > However, despite being the owner of the sysfs file, the CAP_SYS_ADMIN
> > check will not allow read access beyond the config header.
> > 
> > With this patch the sysfs file owner is also considered privileged enough
> > to read all of the config space.
> > 
> > Signed-off-by: Chris Wright <chrisw@sous-sol.org>
> > ---
> >  drivers/pci/pci-sysfs.c |    4 +++-
> 
> Jesse, any objection to this going through my tree as it will depend on
> the sysfs change?

Aside from the concerns Alan raised, yeah that's fine.

But I guess it was your idea to rely on the CAP bits rather than
ownership, so you get to decide how to clean up the mess. :)

I really wish ownership was enough in sysfs, but we were too weak in
the beginning and allowed userspace bugs (like walking all of sysfs and
reading every file) to scare us into putting weird enable flags and
checks like this in...

-- 
Jesse Barnes, Intel Open Source Technology Center

      reply	other threads:[~2010-05-14 19:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-13  1:28 [PATCH 1/2] sysfs: add struct file* to bin_attr callbacks Chris Wright
2010-05-13  1:29 ` [PATCH 2/2] pci: allow sysfs file owner to read device dependent config space Chris Wright
2010-05-13  9:59   ` Alan Cox
2010-05-13 15:05     ` Chris Wright
2010-05-13 17:43     ` [PATCH 2/2 v2] pci: check caps from sysfs file open " Chris Wright
2010-05-13 19:06       ` Greg KH
2010-05-13 19:16         ` Chris Wright
2010-05-13 10:56   ` [PATCH 2/2] pci: allow sysfs file owner " Avi Kivity
2010-05-13 11:02     ` Daniel P. Berrange
2010-05-14 19:09   ` Greg KH
2010-05-14 19:26     ` Jesse Barnes [this message]

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=20100514122615.69026481@virtuousgeek.org \
    --to=jbarnes@virtuousgeek.org \
    --cc=alex.williamson@redhat.com \
    --cc=chrisw@sous-sol.org \
    --cc=ddutile@redhat.com \
    --cc=greg@kroah.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=matthew@wil.cx \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).