summaryrefslogtreecommitdiffstats
path: root/fs/ntfs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2015-01-18 23:37:32 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2015-01-18 23:49:26 -0500
commit378ff1a53b5724f3ac97b0aba3c9ecac072f6fcd (patch)
treecd81852109bbf82a77ff54de1f00d61408c3d920 /fs/ntfs
parentec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc (diff)
downloadlinux-378ff1a53b5724f3ac97b0aba3c9ecac072f6fcd.tar.gz
linux-378ff1a53b5724f3ac97b0aba3c9ecac072f6fcd.tar.bz2
linux-378ff1a53b5724f3ac97b0aba3c9ecac072f6fcd.zip
fix deadlock in cifs_ioctl_clone()
It really needs to check that src is non-directory *and* use {un,}lock_two_nodirectories(). As it is, it's trivial to cause double-lock (ioctl(fd, CIFS_IOC_COPYCHUNK_FILE, fd)) and if the last argument is an fd of directory, we are asking for trouble by violating the locking order - all directories go before all non-directories. If the last argument is an fd of parent directory, it has 50% odds of locking child before parent, which will cause AB-BA deadlock if we race with unlink(). Cc: stable@vger.kernel.org @ 3.13+ Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ntfs')
0 files changed, 0 insertions, 0 deletions