summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAl Viro <viro@ZenIV.linux.org.uk>2008-05-01 03:52:22 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-30 20:09:00 -0700
commit214b7049a7929f03bbd2786aaef04b8b79db34e2 (patch)
tree2e2c688b96085664c4b7405859c359d51ae8305b /net
parent6d98ca736441029e4e87ad3b6dc4a8645dc4c6d3 (diff)
downloadblackbird-op-linux-214b7049a7929f03bbd2786aaef04b8b79db34e2.tar.gz
blackbird-op-linux-214b7049a7929f03bbd2786aaef04b8b79db34e2.zip
Fix dnotify/close race
We have a race between fcntl() and close() that can lead to dnotify_struct inserted into inode's list *after* the last descriptor had been gone from current->files. Since that's the only point where dnotify_struct gets evicted, we are screwed - it will stick around indefinitely. Even after struct file in question is gone and freed. Worse, we can trigger send_sigio() on it at any later point, which allows to send an arbitrary signal to arbitrary process if we manage to apply enough memory pressure to get the page that used to host that struct file and fill it with the right pattern... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud