Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06bcfedd authored by Steve French's avatar Steve French
Browse files

[CIFS] Fix typo in earlier cifs_unlink change and protect one


extra path.

Since cifs_unlink can also be called from rename path and there
was one report of oops am making the extra check for null inode.

Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent e9917a00
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -565,14 +565,14 @@ int cifs_unlink(struct inode *inode, struct dentry *direntry)
	struct cifsInodeInfo *cifsInode;
	FILE_BASIC_INFO *pinfo_buf;

	cFYI(1, ("cifs_unlink, inode = 0x%p with ", inode));
	cFYI(1, ("cifs_unlink, inode = 0x%p", inode));

	xid = GetXid();

	if(inode)
		cifs_sb = CIFS_SB(inode->i_sb);
	else
		cifs_sb = CIFS_SB(dentry->d_sb);
		cifs_sb = CIFS_SB(direntry->d_sb);
	pTcon = cifs_sb->tcon;

	/* Unlink can be called from rename so we can not grab the sem here
@@ -695,9 +695,11 @@ int cifs_unlink(struct inode *inode, struct dentry *direntry)
					   when needed */
		direntry->d_inode->i_ctime = current_fs_time(inode->i_sb);
	}
	if(inode) {
		inode->i_ctime = inode->i_mtime = current_fs_time(inode->i_sb);
		cifsInode = CIFS_I(inode);
		cifsInode->time = 0;	/* force revalidate of dir as well */
	}

	kfree(full_path);
	FreeXid(xid);