cifs: don't leak -ENOMEM in smb2_open_file()
A NULL error response might be a valid case where smb2_reconnect()
failed to reconnect the session and tcon due to a disconnected server
prior to issuing the I/O operation, so don't leak -ENOMEM to userspace
on such occasions.
Fixes: 76894f3e2f
("cifs: improve symlink handling for smb2+")
Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
Родитель
7ad54b98fc
Коммит
f60ffa662d
|
@ -122,8 +122,8 @@ int smb2_open_file(const unsigned int xid, struct cifs_open_parms *oparms, __u32
|
|||
struct smb2_hdr *hdr = err_iov.iov_base;
|
||||
|
||||
if (unlikely(!err_iov.iov_base || err_buftype == CIFS_NO_BUFFER))
|
||||
rc = -ENOMEM;
|
||||
else if (hdr->Status == STATUS_STOPPED_ON_SYMLINK) {
|
||||
goto out;
|
||||
if (hdr->Status == STATUS_STOPPED_ON_SYMLINK) {
|
||||
rc = smb2_parse_symlink_response(oparms->cifs_sb, &err_iov,
|
||||
&data->symlink_target);
|
||||
if (!rc) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче