diff options
author | OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 2010-01-11 19:32:24 +0100 |
---|---|---|
committer | OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 2010-01-11 19:47:25 +0100 |
commit | 8045e2985012bdb95d832dfbcceae1815880a6ed (patch) | |
tree | 513a853a81eee10f86047b681bf52132592b36b9 /fs/utimes.c | |
parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rol... (diff) | |
download | linux-8045e2985012bdb95d832dfbcceae1815880a6ed.tar.xz linux-8045e2985012bdb95d832dfbcceae1815880a6ed.zip |
fat: Fix vfat_lookup()
After d_find_alias(), vfat_lookup() checks !(->d_flags & DCACHE_DISCONNECTED)
without IS_ROOT(). This means it hits non-anonymous but disconnected
dentry. (NOTE: d_splice_alias() doesn't clear DCACHE_DISCONNECTED)
But, vfat_lookup() has interest to alias if it was non-anonymous. So,
this adds vfat_d_anon_disconn() helper to check it correctly.
Another bug is refcnt leak. It needs dput() for uninterested alias.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Diffstat (limited to 'fs/utimes.c')
0 files changed, 0 insertions, 0 deletions