Re: [RFC v1] USB: core: add USBDEVFS_REVOKE ioctl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2022-04-26 at 12:30 +0200, Greg Kroah-Hartman wrote:
> On Tue, Apr 26, 2022 at 12:07:32PM +0200, Bastien Nocera wrote:
> > On Tue, 2022-04-26 at 10:46 +0200, Oliver Neukum wrote:
> > > 
> > > 
> > > On 26.04.22 09:21, Greg Kroah-Hartman wrote:
> > > > Yes, but, it's not so simple.  Many people have asked for
> > > > revoke()
> > > > to be
> > > > added as a syscall like is in the BSDs, but the BSDs only allow
> > > > that for
> > > > a very small subset of file descriptor types, and doing it in a
> > > > generic
> > > > fashion seems very difficult (I tried a few years ago and gave
> > > > up,
> > > > but
> > > > my knowledge of the vfs layer is minimal.)
> > > Well, then we should go for the minimalist approach and just
> > > add a hook to VFS. Multiple different ioctl()s are definitely a
> > > bad
> > > idea.
> > > An frevoke() looks much easier to do than one based on paths.
> > > If I understand the issue behind the proposal correctly the
> > > caller
> > > has opened the device.
> > 
> > Doesn't look like FreeBSD at least has an frevoke() syscall
> > anymore, it
> > had an FREVOKE flag, which is now a define for the O_VERIFY option
> > which has quite different semantics:
> > https://www.freebsd.org/cgi/man.cgi?sektion=2&query=open
> 
> Take a look at this implementation:
>         https://man.openbsd.org/revoke.2
> 
I don't think anyone wants to implement path based syscalls, and again,
it's equivalent to remote closing the fd, not to disabling the access
to the device:
"If the file is a special file for a device which is open, the device
close function is called as if all open references to the file had been
closed."

If there's an implementation done at the VFS level, it should probably
try to steer away from those earlier disparate implementations.



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux