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 4/6] smb/server: fix return value of smb2_ioctl()
Date: Fri, 17 Oct 2025 16:46:08 +0800 [thread overview]
Message-ID: <20251017084610.3085644-5-chenxiaosong.chenxiaosong@linux.dev> (raw)
In-Reply-To: <20251017084610.3085644-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 dabc3a49bd15..488915a8639b 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
next prev parent reply other threads:[~2025-10-17 8:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-17 8:46 [PATCH 0/6] smb/server: fix return values of smb2_0_server_cmds proc chenxiaosong.chenxiaosong
2025-10-17 8:46 ` [PATCH 1/6] smb/server: fix return value of smb2_read() chenxiaosong.chenxiaosong
2025-10-17 8:46 ` [PATCH 2/6] smb/server: fix return value of smb2_notify() chenxiaosong.chenxiaosong
2025-10-31 23:56 ` Namjae Jeon
2025-11-01 0:05 ` ChenXiaoSong
2025-11-01 0:10 ` Namjae Jeon
2025-11-01 0:18 ` ChenXiaoSong
2025-10-17 8:46 ` [PATCH 3/6] smb/server: fix return value of smb2_query_dir() chenxiaosong.chenxiaosong
2025-10-17 8:46 ` chenxiaosong.chenxiaosong [this message]
2025-10-17 8:46 ` [PATCH 5/6] smb/server: fix return value of smb2_oplock_break() chenxiaosong.chenxiaosong
2025-10-17 8:46 ` [PATCH 6/6] smb/server: update some misguided comment of smb2_0_server_cmds proc chenxiaosong.chenxiaosong
2025-10-17 14:02 ` [PATCH 0/6] smb/server: fix return values " Namjae Jeon
2025-10-17 14:47 ` 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=20251017084610.3085644-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