]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
fat: fix oops on corrupted vfat fs
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 2 Dec 2014 23:59:37 +0000 (15:59 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 16 Dec 2014 17:37:05 +0000 (09:37 -0800)
commit827a4f2a784d1de5375978b4a54049dc19bea465
tree99f0d6f7681a0fd09fa1314a2283464bbdf8505f
parent3abaac9510bbdf474567e19b6bb5c32e5260d2bd
fat: fix oops on corrupted vfat fs

commit 1ead0e79bfedd4b563b8ea7c585ca3884b0c89a7 upstream.

a) don't bother with ->d_time for positives - we only check it for
   negatives anyway.

b) make sure to set it at unlink and rmdir time - at *that* point
   soon-to-be negative dentry matches then-current directory contents

c) don't go into renaming of old alias in vfat_lookup() unless it
   has the same parent (which it will, unless we are seeing corrupted
   image)

[hirofumi@mail.parknet.co.jp: make change minimum, don't call d_move() for dir]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/fat/namei_vfat.c