]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
smb/server: fix return value of smb2_notify()
authorChenXiaoSong <chenxiaosong@kylinos.cn>
Fri, 17 Oct 2025 10:46:08 +0000 (18:46 +0800)
committerSteve French <stfrench@microsoft.com>
Mon, 1 Dec 2025 03:11:43 +0000 (21:11 -0600)
smb2_notify() should return error code when an error occurs,
__process_request() will print the error messages.

I may implement the SMB2 CHANGE_NOTIFY response (see MS-SMB2 2.2.36)
in the future.

Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/smb2pdu.c

index 6a482e4c1d623af01320b6cdcf28f770de65af66..d676558f7bb62667283659ae195a5523c9e2308d 100644 (file)
@@ -8777,7 +8777,7 @@ int smb2_oplock_break(struct ksmbd_work *work)
  * smb2_notify() - handler for smb2 notify request
  * @work:   smb work containing notify command buffer
  *
- * Return:      0
+ * Return:      0 on success, otherwise error
  */
 int smb2_notify(struct ksmbd_work *work)
 {
@@ -8791,12 +8791,12 @@ int smb2_notify(struct ksmbd_work *work)
        if (work->next_smb2_rcv_hdr_off && req->hdr.NextCommand) {
                rsp->hdr.Status = STATUS_INTERNAL_ERROR;
                smb2_set_err_rsp(work);
-               return 0;
+               return -EIO;
        }
 
        smb2_set_err_rsp(work);
        rsp->hdr.Status = STATUS_NOT_IMPLEMENTED;
-       return 0;
+       return -EOPNOTSUPP;
 }
 
 /**