aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2024-12-26 14:27:16 +0100
committerSteve French <stfrench@microsoft.com>2025-01-19 19:46:42 -0600
commit6d08851c601328025615d779c08753067ecefa34 (patch)
tree978feb540547cb7b0f5406b78ca62cc176aa581a
parentcifs: Add missing NT_STATUS_* codes from nterr.h to nterr.c (diff)
downloadwireguard-linux-6d08851c601328025615d779c08753067ecefa34.tar.xz
wireguard-linux-6d08851c601328025615d779c08753067ecefa34.zip
cifs: Fix printing Status code into dmesg
NT Status code is 32-bit number, so for comparing two NT Status codes is needed to check all 32 bits, and not just low 24 bits. Before this change kernel printed message: "Status code returned 0x8000002d NT_STATUS_NOT_COMMITTED" It was incorrect as because NT_STATUS_NOT_COMMITTED is defined as 0xC000002d and 0x8000002d has defined name NT_STATUS_STOPPED_ON_SYMLINK. With this change kernel prints message: "Status code returned 0x8000002d NT_STATUS_STOPPED_ON_SYMLINK" Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
-rw-r--r--fs/smb/client/netmisc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/smb/client/netmisc.c b/fs/smb/client/netmisc.c
index 2a8d71221e5e..17b3e21ea868 100644
--- a/fs/smb/client/netmisc.c
+++ b/fs/smb/client/netmisc.c
@@ -775,10 +775,10 @@ cifs_print_status(__u32 status_code)
int idx = 0;
while (nt_errs[idx].nt_errstr != NULL) {
- if (((nt_errs[idx].nt_errcode) & 0xFFFFFF) ==
- (status_code & 0xFFFFFF)) {
+ if (nt_errs[idx].nt_errcode == status_code) {
pr_notice("Status code returned 0x%08x %s\n",
status_code, nt_errs[idx].nt_errstr);
+ return;
}
idx++;
}