From: David Howells <dhowells@redhat.com>
To: Casey Schaufler <casey@schaufler-ca.com>
Cc: dhowells@redhat.com, Stephen Smalley <sds@tycho.nsa.gov>,
Andy Lutomirski <luto@kernel.org>,
viro@zeniv.linux.org.uk, linux-usb@vger.kernel.org,
linux-security-module@vger.kernel.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: What do LSMs *actually* need for checks on notifications?
Date: Wed, 12 Jun 2019 19:36:55 +0100 [thread overview]
Message-ID: <17322.1560364615@warthog.procyon.org.uk> (raw)
In-Reply-To: <0483c310-87c0-17b6-632e-d57b2274a32f@schaufler-ca.com>
Casey Schaufler <casey@schaufler-ca.com> wrote:
> > (*) Device events (block/usb) don't require any permissions, but currently
> > only deliver hardware notifications.
>
> How do you specify what device you want to watch?
It's a general queue.
> Don't you have to access a /dev/something?
Not at the moment. One problem is that there may not be a /dev/something for
a device (take a bridge for example), and even if it does, the device driver
doesn't necessarily have access to the path. The messages contain the device
name string as appears in dmesg ("3-7" for a USB device, for example).
I think it would be wise to limit the general queue to hardware events that
either get triggered by someone physically mucking around with the hardware or
device errors, such as bad sectors or links going up and down.
> > You can't find out what watches exist.
>
> Not even your own?
No.
> > However, it should be noted that (1) is the creds of the buffer owner.
>
> How are buffers shared? Who besides the buffer creator can use it?
When you open /dev/watch_queue, you get buffers private to that file object; a
second open of the device, even by the same process, will get different
buffers.
The buffers are 'attached' to that file and are accessed by calling mmap() on
the fd; shareability is governed by how shareable the fd and a mapping are
shareable.
> Can you glean information from the watch being deleted?
> I wouldn't think so, and it seems like a one-time event
> from the system, so I don't think an access check would
> be required.
As you say, it's a one-time message per watch. The object that got deleted
would need to be recreated, rewatched and made available to both parties.
David
prev parent reply other threads:[~2019-06-12 18:37 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-07 14:17 [RFC][PATCH 00/13] Mount, FS, Block and Keyrings notifications [ver #4] David Howells
2019-06-07 14:17 ` [PATCH 01/13] security: Override creds in __fput() with last fputter's creds " David Howells
2019-06-07 14:17 ` [PATCH 02/13] uapi: General notification ring definitions " David Howells
2019-06-07 15:12 ` Darrick J. Wong
2019-06-07 15:30 ` David Howells
2019-06-07 15:51 ` David Howells
2019-06-09 4:35 ` Randy Dunlap
2019-06-13 13:34 ` David Howells
2019-06-13 14:49 ` Randy Dunlap
2019-06-07 14:17 ` [PATCH 03/13] security: Add hooks to rule on setting a watch " David Howells
2019-06-07 14:17 ` [PATCH 04/13] security: Add a hook for the point of notification insertion " David Howells
2019-06-07 14:18 ` [PATCH 05/13] General notification queue with user mmap()'able ring buffer " David Howells
2019-06-07 14:18 ` [PATCH 06/13] keys: Add a notification facility " David Howells
2019-06-10 17:11 ` Jonathan Corbet
2019-06-10 17:47 ` David Howells
2019-06-07 14:18 ` [PATCH 07/13] vfs: Add a mount-notification " David Howells
2019-06-07 14:18 ` [PATCH 08/13] vfs: Add superblock notifications " David Howells
2019-06-07 14:18 ` [PATCH 09/13] fsinfo: Export superblock notification counter " David Howells
2019-06-07 14:18 ` [PATCH 10/13] Add a general, global device notification watch list " David Howells
2019-06-07 14:19 ` [PATCH 11/13] block: Add block layer notifications " David Howells
2019-06-07 14:19 ` [PATCH 12/13] usb: Add USB subsystem " David Howells
2019-06-07 14:19 ` [PATCH 13/13] Add sample notification program " David Howells
2019-06-10 15:21 ` [RFC][PATCH 00/13] Mount, FS, Block and Keyrings notifications " Stephen Smalley
2019-06-10 16:33 ` Casey Schaufler
2019-06-10 16:42 ` Andy Lutomirski
2019-06-10 18:01 ` Casey Schaufler
2019-06-10 18:22 ` Andy Lutomirski
2019-06-10 19:33 ` Casey Schaufler
2019-06-10 19:53 ` Andy Lutomirski
2019-06-10 21:25 ` Casey Schaufler
2019-06-10 22:07 ` David Howells
2019-06-11 0:13 ` Andy Lutomirski
2019-06-11 14:32 ` Stephen Smalley
2019-06-12 8:55 ` David Howells
2019-06-11 14:21 ` What do LSMs *actually* need for checks on notifications? David Howells
2019-06-11 15:57 ` Stephen Smalley
2019-06-12 11:43 ` David Howells
2019-06-13 18:46 ` Stephen Smalley
2019-06-11 16:22 ` Casey Schaufler
2019-06-12 17:41 ` David Howells
2019-06-12 18:14 ` Casey Schaufler
2019-06-12 18:36 ` David Howells [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=17322.1560364615@warthog.procyon.org.uk \
--to=dhowells@redhat.com \
--cc=casey@schaufler-ca.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=luto@kernel.org \
--cc=sds@tycho.nsa.gov \
--cc=viro@zeniv.linux.org.uk \
/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