summaryrefslogtreecommitdiff
path: root/fs/fat/inode.c
diff options
context:
space:
mode:
authorOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>2010-01-12 03:32:24 +0900
committerOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>2010-01-12 03:47:25 +0900
commit8045e2985012bdb95d832dfbcceae1815880a6ed (patch)
tree513a853a81eee10f86047b681bf52132592b36b9 /fs/fat/inode.c
parent3c8ad49b015eb115fbd6982f56d530f53cf57f84 (diff)
downloadlinux-3.10-8045e2985012bdb95d832dfbcceae1815880a6ed.tar.gz
linux-3.10-8045e2985012bdb95d832dfbcceae1815880a6ed.tar.bz2
linux-3.10-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/fat/inode.c')
0 files changed, 0 insertions, 0 deletions