diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-25 19:05:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-25 19:05:55 -0700 |
commit | bc84e0a160e383deb56568f4e03bc51b1ce16775 (patch) | |
tree | 3c8cf1ae23c2f9c165bd7ce63a40b1d5c3aee275 /fs/namespace.c | |
parent | a92910723a5af54f81373875fd95133c88df94bd (diff) | |
parent | f8f95702f0c4529b0f59488f4509608f0c160e77 (diff) | |
download | op-kernel-dev-bc84e0a160e383deb56568f4e03bc51b1ce16775.zip op-kernel-dev-bc84e0a160e383deb56568f4e03bc51b1ce16775.tar.gz |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
[PATCH] sanitize locate_fd()
[PATCH] sanitize unshare_files/reset_files_struct
[PATCH] sanitize handling of shared descriptor tables in failing execve()
[PATCH] close race in unshare_files()
[PATCH] restore sane ->umount_begin() API
cifs: timeout dfs automounts +little fix.
Diffstat (limited to 'fs/namespace.c')
-rw-r--r-- | fs/namespace.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index 0505fb6..f48f981 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1061,10 +1061,11 @@ static int do_umount(struct vfsmount *mnt, int flags) * about for the moment. */ - lock_kernel(); - if (sb->s_op->umount_begin) - sb->s_op->umount_begin(mnt, flags); - unlock_kernel(); + if (flags & MNT_FORCE && sb->s_op->umount_begin) { + lock_kernel(); + sb->s_op->umount_begin(sb); + unlock_kernel(); + } /* * No sense to grab the lock for this test, but test itself looks |