cifs: remove deadstore in cifs_close_all_deferred_files()
authorwenhuizhang <wenhui@gwmail.gwu.edu>
Thu, 13 May 2021 16:55:16 +0000 (12:55 -0400)
committerSteve French <stfrench@microsoft.com>
Mon, 17 May 2021 04:05:46 +0000 (23:05 -0500)
Deadstore detected by Lukas Bulwahn's CodeChecker Tool (ELISA group).

line 741 struct cifsInodeInfo *cinode;
line 747 cinode = CIFS_I(d_inode(cfile->dentry));
could be deleted.

cinode on filesystem should not be deleted when files are closed,
they are representations of some data fields on a physical disk,
thus no further action is required.
The virtual inode on vfs will be handled by vfs automatically,
and the denotation is inode, which is different from the cinode.

Signed-off-by: wenhuizhang <wenhui@gwmail.gwu.edu>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/misc.c

index 524dbdf..801a530 100644 (file)
@@ -738,13 +738,11 @@ void
 cifs_close_all_deferred_files(struct cifs_tcon *tcon)
 {
        struct cifsFileInfo *cfile;
-       struct cifsInodeInfo *cinode;
        struct list_head *tmp;
 
        spin_lock(&tcon->open_file_lock);
        list_for_each(tmp, &tcon->openFileList) {
                cfile = list_entry(tmp, struct cifsFileInfo, tlist);
-               cinode = CIFS_I(d_inode(cfile->dentry));
                if (delayed_work_pending(&cfile->deferred))
                        mod_delayed_work(deferredclose_wq, &cfile->deferred, 0);
        }