From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Tejun Heo <tj@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Ric Wheeler <rwheeler@redhat.com>,
Petr Matousek <pmatouse@redhat.com>, Kay Sievers <kay@redhat.com>,
Jens Axboe <axboe@kernel.dk>,
linux-kernel@vger.kernel.org,
"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Subject: Re: setting up CDB filters in udev (was Re: [PATCH v2 0/3] block: add queue-private command filter, editable via sysfs)
Date: Fri, 2 Nov 2012 23:52:43 +0000 [thread overview]
Message-ID: <20121102235243.60dfa772@pyramind.ukuu.org.uk> (raw)
In-Reply-To: <20121102225912.GD27843@mtj.dyndns.org>
> > - giving people access to parts of disks
>
> Are we gonna implement random range restriction inside a partition
> too? If we want to check against partition ranges for allowed SG_IO
> commands, by all means, but it can easily be implemented as part of
> the fixed filter.
Really. Can your filter implement it only for certain commands, and only
for certain vendor specific commands ? Not really because your filter is
fixed - it has policy in kernel which is the wrong place for device
specific stuff.
And if you add it to the "fixed" policy how much code and ioctls is that
to specify ranges by command and pass partitions when they are device
mapper user space created mappings ? More code than the BPF interface and
more new APIs.
> > - allowing access to specific vendor specific commands on certain
> > non-standard CD and DVD drives so they can be used for burning but you
> > can't trash them
>
> At this point, most burning commands are standardized, and optical
> drives are generally on the way out. If you absolutely have to use
> some vendor specific commands, be root.
So that translates to me as "There is a good reason, but if your drive is
one of the awkward ones then f**k you go use root". Again policy in the
kernel just creates inflexibility and is the wrong place for it.
> > - giving end users minimal access to things like SMART but only on drives
> > where it is safe
>
> End users already have pretty good access to SMART data via udisks and
> it's way more flexible and intelligent than some in-kernel filter.
Thats a bit Gnome developer - "Our way or the highway". The point of
having a filter is that you put policy in user space. If you don't care
the default filter carries on just working, if you do care you can change
stuff with BPF.
> > - giving a user a SCSI disk or partition to play with but preventing them
> > issuing weird ass commands that can disrupt other devices in the fabric
> > (like drive to drive transfers, some kinds of resets, management
> > commands)
> > - minimising the ability of a VM to do damage if compromised while
> > maximising its raw access to a device
>
> Maybe, I don't know. It all sounds highly marginal to me.
If you are doing virtual machines it is far from marginal.
> For complex/intelligent access policies, kernel isn't the right place
> to do it anyway
So why are you arguing for kernel policies which is exactly what the
fixed ones are ? The BPF ones moves the policy to user space !
Alan
next prev parent reply other threads:[~2012-11-02 23:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-25 15:30 [PATCH v2 0/3] block: add queue-private command filter, editable via sysfs Paolo Bonzini
2012-09-25 15:30 ` [PATCH v2 1/3] block: add back queue-private command filter Paolo Bonzini
2012-09-25 15:30 ` [PATCH v2 2/3] scsi: create an all-zero filter for scanners Paolo Bonzini
2012-09-25 15:30 ` [PATCH v2 3/3] block: add back command filter modification via sysfs Paolo Bonzini
2012-10-04 10:12 ` [PATCH v2 0/3] block: add queue-private command filter, editable " Paolo Bonzini
2012-10-19 0:22 ` Tejun Heo
2012-10-19 9:07 ` Paolo Bonzini
[not found] ` <2007908429.13363375.1350637872646.JavaMail.root@redhat.com>
[not found] ` <20121019201058.GP13370@google.com>
[not found] ` <5087E093.50700@redhat.com>
[not found] ` <CAOS58YM5ZO9h0XUCNxV+6U3UzpeUen5ZuyqsNEUaJ81ux=QKvw@mail.gmail.com>
[not found] ` <5088EC43.2010600@redhat.com>
2012-10-25 18:00 ` setting up CDB filters in udev (was Re: [PATCH v2 0/3] block: add queue-private command filter, editable via sysfs) Tejun Heo
2012-10-25 18:35 ` Paolo Bonzini
2012-10-31 12:52 ` Paolo Bonzini
2012-10-31 21:22 ` Tejun Heo
2012-11-02 14:49 ` Paolo Bonzini
2012-11-02 15:35 ` Alan Cox
2012-11-02 16:48 ` Tejun Heo
2012-11-02 17:21 ` Alan Cox
2012-11-02 17:30 ` Tejun Heo
2012-11-02 20:18 ` Alan Cox
2012-11-02 20:21 ` Tejun Heo
2012-11-02 20:48 ` Alan Cox
2012-11-02 22:59 ` Tejun Heo
2012-11-02 23:52 ` Alan Cox [this message]
2012-11-02 23:58 ` Tejun Heo
2012-11-03 0:19 ` Alan Cox
2012-11-03 0:23 ` Tejun Heo
2012-11-03 0:52 ` Alan Cox
2012-11-02 16:51 ` Tejun Heo
2012-11-02 17:49 ` Paolo Bonzini
2012-11-02 17:53 ` Tejun Heo
2012-11-03 13:20 ` Paolo Bonzini
2012-11-03 14:50 ` Alan Cox
2012-11-05 11:08 ` Paolo Bonzini
2012-11-05 18:18 ` Tejun Heo
2012-11-05 20:12 ` Alan Cox
2012-11-05 20:09 ` Tejun Heo
2012-11-05 20:17 ` Alan Cox
2012-11-05 20:15 ` Tejun Heo
2012-11-05 18:26 ` Tejun Heo
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=20121102235243.60dfa772@pyramind.ukuu.org.uk \
--to=alan@lxorguk.ukuu.org.uk \
--cc=James.Bottomley@HansenPartnership.com \
--cc=axboe@kernel.dk \
--cc=kay@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=pmatouse@redhat.com \
--cc=rwheeler@redhat.com \
--cc=tj@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome