diff options
author | jvrao <jvrao@linux.vnet.ibm.com> | 2010-08-25 18:26:21 +0200 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2010-09-13 15:13:03 +0200 |
commit | 62726a7ab3a6a3624256172af055ff0a38c6ffa2 (patch) | |
tree | fea6290c7232a1cbf9d144419a36ef62aaa04cdb /fs/9p/vfs_dir.c | |
parent | fs/9p: Fix error handling in v9fs_get_sb (diff) | |
download | linux-62726a7ab3a6a3624256172af055ff0a38c6ffa2.tar.xz linux-62726a7ab3a6a3624256172af055ff0a38c6ffa2.zip |
9p: Check for NULL fid in v9fs_dir_release()
NULL fid should be handled in cases where we endup calling v9fs_dir_release()
before even we instantiate the fid in filp.
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p/vfs_dir.c')
-rw-r--r-- | fs/9p/vfs_dir.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c index 16c8a2a98c1b..899f168fd19c 100644 --- a/fs/9p/vfs_dir.c +++ b/fs/9p/vfs_dir.c @@ -292,9 +292,11 @@ int v9fs_dir_release(struct inode *inode, struct file *filp) fid = filp->private_data; P9_DPRINTK(P9_DEBUG_VFS, - "inode: %p filp: %p fid: %d\n", inode, filp, fid->fid); + "v9fs_dir_release: inode: %p filp: %p fid: %d\n", + inode, filp, fid ? fid->fid : -1); filemap_write_and_wait(inode->i_mapping); - p9_client_clunk(fid); + if (fid) + p9_client_clunk(fid); return 0; } |