fs/9p: When doing inode lookup compare qid details and inode mode bits.
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Mon, 11 Jul 2011 16:40:59 +0000 (16:40 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:40:18 +0000 (11:40 -0700)
commite38b21e76bb89bba3e59da494de586aac23ad430
tree79ac1f29f97ffafc6c31ba3a8dbffcc9c9462572
parenta0be78ef93e0656339bf14feddc0e8afb2a86894
fs/9p: When doing inode lookup compare qid details and inode mode bits.

commit fd2421f54423f307ecd31bdebdca6bc317e0c492 upstream.

This make sure we don't use wrong inode from the inode hash. The inode number
of the file deleted is reused by the next file system object created
and if we only use inode number for inode hash lookup we could end up
with wrong struct inode.

Also compare inode generation number. Not all Linux file system provide
st_gen in userspace. So it could be 0;

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/9p/cache.c
fs/9p/cache.h
fs/9p/v9fs.c
fs/9p/v9fs.h
fs/9p/vfs_inode.c
fs/9p/vfs_inode_dotl.c