public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: chenxiaosong.chenxiaosong@linux.dev
To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org,
	linkinjeon@samba.org
Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org,
	ChenXiaoSong <chenxiaosong@kylinos.cn>
Subject: [PATCH v2 4/6] smb/server: fix return value of smb2_ioctl()
Date: Fri, 17 Oct 2025 18:46:10 +0800	[thread overview]
Message-ID: <20251017104613.3094031-5-chenxiaosong.chenxiaosong@linux.dev> (raw)
In-Reply-To: <20251017104613.3094031-1-chenxiaosong.chenxiaosong@linux.dev>

From: ChenXiaoSong <chenxiaosong@kylinos.cn>

__process_request() will not print error messages if smb2_ioctl()
always returns 0.

Fix this by returning the correct value at the end of function.

Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
---
 fs/smb/server/smb2pdu.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index ff264249f405..efd545882ba8 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -8164,7 +8164,7 @@ int smb2_ioctl(struct ksmbd_work *work)
 		id = req->VolatileFileId;
 
 	if (req->Flags != cpu_to_le32(SMB2_0_IOCTL_IS_FSCTL)) {
-		rsp->hdr.Status = STATUS_NOT_SUPPORTED;
+		ret = -EOPNOTSUPP;
 		goto out;
 	}
 
@@ -8184,8 +8184,9 @@ int smb2_ioctl(struct ksmbd_work *work)
 	case FSCTL_DFS_GET_REFERRALS:
 	case FSCTL_DFS_GET_REFERRALS_EX:
 		/* Not support DFS yet */
+		ret = -EOPNOTSUPP;
 		rsp->hdr.Status = STATUS_FS_DRIVER_REQUIRED;
-		goto out;
+		goto out2;
 	case FSCTL_CREATE_OR_GET_OBJECT_ID:
 	{
 		struct file_object_buf_type1_ioctl_rsp *obj_buf;
@@ -8475,8 +8476,10 @@ int smb2_ioctl(struct ksmbd_work *work)
 		rsp->hdr.Status = STATUS_BUFFER_TOO_SMALL;
 	else if (ret < 0 || rsp->hdr.Status == 0)
 		rsp->hdr.Status = STATUS_INVALID_PARAMETER;
+
+out2:
 	smb2_set_err_rsp(work);
-	return 0;
+	return ret;
 }
 
 /**
-- 
2.43.0


  parent reply	other threads:[~2025-10-17 10:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-17 10:46 [PATCH v2 0/6] smb/server: fix return values of smb2_0_server_cmds proc chenxiaosong.chenxiaosong
2025-10-17 10:46 ` [PATCH v2 1/6] smb/server: fix return value of smb2_read() chenxiaosong.chenxiaosong
2025-10-18 18:27   ` Markus Elfring
     [not found]     ` <CAH2r5mt4X4+k89t9CSqxuF55jooOt=X-BMB9AGR+e9WNEh6Y0g@mail.gmail.com>
     [not found]       ` <cc22c66e-9ecb-4aa4-9b38-bd148820269c@web.de>
     [not found]         ` <CAH2r5mtiAy7h__rFd9mP-jutx38C9JSpPOPhn9ngqsezeX4_4g@mail.gmail.com>
     [not found]           ` <8d9ab96f-b7cf-4ebb-9a1b-4b0f2b94461f@web.de>
     [not found]             ` <CAH2r5mvx5+zQwhFRz-_dMmxYDX4PDzY5X9WGEd0M1Xf73bRyLA@mail.gmail.com>
     [not found]               ` <3d3fe6c0-b05e-4e36-8b02-0fc16438c781@linux.dev>
2025-10-19 11:56                 ` [v2 " ChenXiaoSong
2025-10-19 12:32                   ` Markus Elfring
2025-10-17 10:46 ` [PATCH v2 2/6] smb/server: fix return value of smb2_notify() chenxiaosong.chenxiaosong
2025-10-18 18:30   ` Markus Elfring
2025-11-11  9:54   ` ChenXiaoSong
2025-10-17 10:46 ` [PATCH v2 3/6] smb/server: fix return value of smb2_query_dir() chenxiaosong.chenxiaosong
2025-10-17 10:46 ` chenxiaosong.chenxiaosong [this message]
2025-10-17 10:46 ` [PATCH v2 5/6] smb/server: fix return value of smb2_oplock_break() chenxiaosong.chenxiaosong
2025-10-17 10:46 ` [PATCH v2 6/6] smb/server: update some misguided comment of smb2_0_server_cmds proc chenxiaosong.chenxiaosong
2025-10-17 14:55 ` [PATCH v2 0/6] smb/server: fix return values " ChenXiaoSong
2025-10-18  1:14   ` Namjae Jeon
2025-10-18 18:42 ` Markus Elfring
2025-11-10  3:01 ` ChenXiaoSong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251017104613.3094031-5-chenxiaosong.chenxiaosong@linux.dev \
    --to=chenxiaosong.chenxiaosong@linux.dev \
    --cc=chenxiaosong@kylinos.cn \
    --cc=linkinjeon@kernel.org \
    --cc=linkinjeon@samba.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sfrench@samba.org \
    --cc=smfrench@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox