mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 03:10:30 -04:00
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>
This commit is contained in:
@@ -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++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user