Messages in this thread |  | | | Date | Mon, 15 Feb 2010 09:26:35 -0800 | | From | Matt Helsley <> | | Subject | Re: [RFC][PATCH 0/4] Check O_* flags set with fcntl() on anon_inode files. |
| |
On Sun, Feb 14, 2010 at 03:52:05AM +0000, Al Viro wrote: > On Sat, Feb 13, 2010 at 04:27:43PM -0800, Matt Helsley wrote: > > anon_inode interfaces often do not support flags that can be set > > by fcntl(). Right now using fcntl() to set these flags falsely > > reports success for things like O_ASYNC yet SIGIO is not delivered. > > I relied on the flags allowed by the syscalls that create > > these files to determine the flags that are allowed to be set by > > fcntl(). > > > > Each patch checks flags for one anonymous inode interface: > > > > [PATCH 1/4] signalfd > > [PATCH 2/4] timerfd > > [PATCH 3/4] epoll > > [PATCH 4/4] eventfd > > > > I did not check the perf, kvm-vm, or kvm-vcpu uses of anon_inodes. > > Er... O_ASYNC is silently ignored for regular files as well, so any > userland code that tries to rely on fcntl() rejecting it is and always > had been badly b0rken.
Of course. Did you mean to imply that the kernel shouldn't bother to reject these, or were you merely making an observation?
Cheers, -Matt Helsley
|  |