Message ID | YJotWR/qMDIoJAcV@mwanda (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | cifsd: fix an uninitialized variable in smb2_write() | expand |
> If there is a permissions problem then the "fp" variable is used in the "goto out;" without being > initialized. The correct fix is to initialize "fp" to NULL which turns the ksmbd_fd_put(work, fp); > call into a no-op. > > Fixes: bb03a3d512bf ("cifsd: Call smb2_set_err_rsp() in smb2_read/smb2_write error path") > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Hi Dan, I have already applied the patch to fix this issue reported by coverity scan. https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/fs/cifsd?h=next-20210511&id=9a5549727ad95a574b1d7dc60f663 250fa4b213f Thanks! > --- > fs/cifsd/smb2pdu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/cifsd/smb2pdu.c b/fs/cifsd/smb2pdu.c index d07d7c45f899..18de8a763209 100644 > --- a/fs/cifsd/smb2pdu.c > +++ b/fs/cifsd/smb2pdu.c > @@ -6078,7 +6078,7 @@ int smb2_write(struct ksmbd_work *work) { > struct smb2_write_req *req; > struct smb2_write_rsp *rsp, *rsp_org; > - struct ksmbd_file *fp; > + struct ksmbd_file *fp = NULL; > loff_t offset; > size_t length; > ssize_t nbytes; > -- > 2.30.2
diff --git a/fs/cifsd/smb2pdu.c b/fs/cifsd/smb2pdu.c index d07d7c45f899..18de8a763209 100644 --- a/fs/cifsd/smb2pdu.c +++ b/fs/cifsd/smb2pdu.c @@ -6078,7 +6078,7 @@ int smb2_write(struct ksmbd_work *work) { struct smb2_write_req *req; struct smb2_write_rsp *rsp, *rsp_org; - struct ksmbd_file *fp; + struct ksmbd_file *fp = NULL; loff_t offset; size_t length; ssize_t nbytes;
If there is a permissions problem then the "fp" variable is used in the "goto out;" without being initialized. The correct fix is to initialize "fp" to NULL which turns the ksmbd_fd_put(work, fp); call into a no-op. Fixes: bb03a3d512bf ("cifsd: Call smb2_set_err_rsp() in smb2_read/smb2_write error path") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- fs/cifsd/smb2pdu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)