On (21/09/07 10:33), Dan Carpenter wrote: > > Smatch complains that there are some paths where "rc" is not set. > > Fixes: eb5784f0c6ef ("ksmbd: ensure error is surfaced in set_file_basic_info()") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > fs/ksmbd/smb2pdu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c > index a350e1cef7f4..c86164dc70bb 100644 > --- a/fs/ksmbd/smb2pdu.c > +++ b/fs/ksmbd/smb2pdu.c > @@ -5444,7 +5444,7 @@ static int set_file_basic_info(struct ksmbd_file *fp, char *buf, > struct file *filp; > struct inode *inode; > struct user_namespace *user_ns; > - int rc; > + int rc = 0; > > if (!(fp->daccess & FILE_WRITE_ATTRIBUTES_LE)) > return -EACCES; It sort of feels like that `rc' is not needed there at all. It's being used in rc = ksmbd_vfs_set_dos_attrib_xattr(user_ns, filp->f_path.dentry, &da); if (rc) ksmbd_debug(SMB, "failed to restore file attribute in EA\n"); and in rc = setattr_prepare(user_ns, dentry, &attrs); if (rc) return -EINVAL; Either it should be used more, and probably be a return value, or we can just remove it.