Messages in this thread | | | Date | Mon, 7 Dec 2009 17:40:49 +0000 | From | Alan Cox <> | Subject | Re: [PATCH v3] vfs: new O_NODE open flag |
| |
> Well, yes. That's true. But I still don't think revoke() is the > answer here. For example even without the possibility of hard links > there's still a race in udev in the following course of events: > > open("/dev/foo", O_RDWR) > ... open passes permission checks > ... driver gets unloaded > ... driver intended for other user gets loaded > ... open finds new driver
> What we really need is to revoke the *inode*, so that it cannot be > opened any more. Doing it with unlink() and revoke() and requiring > that link() does not work on the filesystem is a poor and racy > substitute for that.
Can't argue with that and going through the kernel logic I don't see anything preventing an exploit based on that from working.
Alan
| |