diff options
author | Steve French <sfrench@us.ibm.com> | 2006-10-14 10:11:16 +0200 |
---|---|---|
committer | Adrian Bunk <bunk@stusta.de> | 2006-10-14 10:11:16 +0200 |
commit | a59ce20e0e4ed46c633d284cad159af84a8f2822 (patch) | |
tree | 7b3bbc06af6d8a39e00e79b2ca2eae87d4b8542c | |
parent | e0326df174d475bdd3da6d0a8730af3a7a347e61 (diff) |
[CIFS] Fix unlink oops when indirectly called in rename error path under heavy stress.
Signed-off-by: Steve French <sfrench@us.ibm.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
-rw-r--r-- | fs/cifs/inode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 59359911f48..cfac39aa1a8 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -569,7 +569,10 @@ int cifs_unlink(struct inode *inode, struct dentry *direntry) xid = GetXid(); - cifs_sb = CIFS_SB(inode->i_sb); + if(inode) + cifs_sb = CIFS_SB(inode->i_sb); + else + cifs_sb = CIFS_SB(dentry->d_sb); pTcon = cifs_sb->tcon; /* Unlink can be called from rename so we can not grab the sem here |