mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Kay Sievers <kay.sievers@vrfy.org>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Kernel development list <linux-kernel@vger.kernel.org>
Subject: Re: How to tell whether a struct file is held by a process?
Date: Thu, 21 May 2009 23:14:52 +0100	[thread overview]
Message-ID: <20090521231452.676d4898@lxorguk.ukuu.org.uk> (raw)
In-Reply-To: <ac3eb2510905211407l3aec14acx2572a2ad4e675b9@mail.gmail.com>

> Not sure, if we already discussed that with a conclusion: this
> "prevent access to a future device" interface needs to work at the pid
> level, or would a uid/gid check be sufficient?

As I said before neither pid or uid make any sense at all for a kernel
level check beyond what already exists at user space level (ie chown),
and what the usual user space gunk provides for device creation policy
(udev)

> Root can do all that stuff anyway, even with the locking in place.
> Uid/gid file permissions need to be applied to the "lock file", so
> specified non-root users can use that interface.

It's actually sometimes important that root can ignore the lock
files - eg to send a reset to a channel of a jammed device that is owned
by a user and wedged.
 
> Maybe it would be good enough, to check that the one that opened the
> "lock file" has the same uid/gid as the on that tries to open the
> device when it has shown up?

My feeling too - there simply isn't any need for kernel infrastructure
here. The only case the kernel must be involved is when you need
exclusivity including telling the kernel to leave things alone, and even
that usually only needs to be by specific handle and we normally borrow
O_EXCL for it as it has no "traditional" meaning on device nodes.

We do tty devices with lock files no reason it won't work for USB stuff
too.

Alan

  parent reply	other threads:[~2009-05-21 22:13 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-19 16:57 Alan Stern
2009-05-21  9:52 ` Al Viro
2009-05-21 14:06   ` Alan Stern
2009-05-21 21:07     ` Kay Sievers
2009-05-21 21:27       ` Alan Stern
2009-05-22 13:30         ` Pantelis Koukousoulas
2009-05-22 13:38           ` Oliver Neukum
2009-05-22 13:43           ` Alan Cox
2009-05-22 13:52             ` Pantelis Koukousoulas
2009-05-22 14:12               ` Alan Cox
2009-05-22 14:29                 ` Pantelis Koukousoulas
2009-05-21 22:14       ` Alan Cox [this message]
2009-05-22  1:28         ` Kyle Moffett
2009-05-22  9:53           ` Alan Cox
2009-05-22 15:12             ` Alan Stern
2009-05-22 15:20               ` Alan Cox
2009-05-22 16:04                 ` Alan Stern
2009-05-22 16:23                   ` Pantelis Koukousoulas
2009-05-22 18:19                     ` Alan Stern
2009-05-22 15:21               ` Kay Sievers
2009-05-22 15:54                 ` Alan Stern
2009-05-22 18:24                   ` Kay Sievers
2009-05-22 18:48                     ` Pantelis Koukousoulas
2009-05-22 19:31                     ` Alan Stern
2009-05-22 21:54                       ` Kay Sievers
2009-05-22 22:07                         ` Alan Stern
2009-05-23 22:47                           ` Kay Sievers
2009-05-22  8:36         ` Oliver Neukum
2009-05-21 22:22     ` Alan Cox
2009-05-22 12:26     ` Oliver Neukum

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=20090521231452.676d4898@lxorguk.ukuu.org.uk \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=kay.sievers@vrfy.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    --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

all inboxes | Powered by JetHome®