Revision 38d78e587d4960d0db94add518d27ee74bad2301 authored by Vladimir Davydov on 22 March 2013, 22:04:51 UTC, committed by Linus Torvalds on 22 March 2013, 23:41:21 UTC
mnt_drop_write() must be called only if mnt_want_write() succeeded, otherwise the mnt_writers counter will diverge. mnt_writers counters are used to check if remounting FS as read-only is OK, so after an extra mnt_drop_write() call, it would be impossible to remount mqueue FS as read-only. Besides, on umount a warning would be printed like this one: ===================================== [ BUG: bad unlock balance detected! ] 3.9.0-rc3 #5 Not tainted ------------------------------------- a.out/12486 is trying to release lock (sb_writers) at: mnt_drop_write+0x1f/0x30 but there are no more locks to release! Signed-off-by: Vladimir Davydov <vdavydov@parallels.com> Cc: Doug Ledford <dledford@redhat.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent ca4b3f3
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 640 bytes |
Makefile | -rw-r--r-- | 207 bytes |
alloc.c | -rw-r--r-- | 10.7 KB |
anode.c | -rw-r--r-- | 15.4 KB |
buffer.c | -rw-r--r-- | 3.7 KB |
dentry.c | -rw-r--r-- | 1.5 KB |
dir.c | -rw-r--r-- | 8.6 KB |
dnode.c | -rw-r--r-- | 30.5 KB |
ea.c | -rw-r--r-- | 11.4 KB |
file.c | -rw-r--r-- | 4.3 KB |
hpfs.h | -rw-r--r-- | 17.9 KB |
hpfs_fn.h | -rw-r--r-- | 12.2 KB |
inode.c | -rw-r--r-- | 8.8 KB |
map.c | -rw-r--r-- | 8.4 KB |
name.c | -rw-r--r-- | 3.2 KB |
namei.c | -rw-r--r-- | 15.7 KB |
super.c | -rw-r--r-- | 18.6 KB |
Computing file changes ...