summaryrefslogtreecommitdiff
path: root/fs/smb/client/misc.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-07-06 12:01:50 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-07-06 12:01:50 +0300
commit90c8478b2b9942883ad3051374975156ebd07067 (patch)
tree62fefb20b4481b764f6ff8cdded8ae7bb8e08e7d /fs/smb/client/misc.c
parent519c523525b3e048862da1ab4ab4a878bdc01aab (diff)
parentdf64e51d4ab83244b6a4eb11eb41f89403611e24 (diff)
downloadlinux-90c8478b2b9942883ad3051374975156ebd07067.tar.xz
Merge v6.12.36
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/smb/client/misc.c')
-rw-r--r--fs/smb/client/misc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/smb/client/misc.c b/fs/smb/client/misc.c
index 4373dd64b66d..5122f3895dfc 100644
--- a/fs/smb/client/misc.c
+++ b/fs/smb/client/misc.c
@@ -323,6 +323,14 @@ check_smb_hdr(struct smb_hdr *smb)
if (smb->Command == SMB_COM_LOCKING_ANDX)
return 0;
+ /*
+ * Windows NT server returns error resposne (e.g. STATUS_DELETE_PENDING
+ * or STATUS_OBJECT_NAME_NOT_FOUND or ERRDOS/ERRbadfile or any other)
+ * for some TRANS2 requests without the RESPONSE flag set in header.
+ */
+ if (smb->Command == SMB_COM_TRANSACTION2 && smb->Status.CifsError != 0)
+ return 0;
+
cifs_dbg(VFS, "Server sent request, not response. mid=%u\n",
get_mid(smb));
return 1;