summaryrefslogtreecommitdiff
path: root/fs/smb/server/connection.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-09-29 16:51:38 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2023-09-29 16:51:38 -0700
commit9f3ebbef746f89f860a90ced99a359202ea86fde (patch)
treee34a3cdc86cc657b1f424c8b427ed35551dbce08 /fs/smb/server/connection.c
parent14c06b913d4a11b50351ef5bcb3f112247f647f3 (diff)
parent73f949ea87c7d697210653501ca21efe57295327 (diff)
downloadlinux-9f3ebbef746f89f860a90ced99a359202ea86fde.tar.gz
linux-9f3ebbef746f89f860a90ced99a359202ea86fde.tar.bz2
linux-9f3ebbef746f89f860a90ced99a359202ea86fde.zip
Merge tag '6.6-rc3-ksmbd-server-fixes' of git://git.samba.org/ksmbd
Pull smb server fixes from Steve French: "Two SMB3 server fixes for null pointer dereferences: - invalid SMB3 request case (fixes issue found in testing the read compound patch) - iovec error case in response processing" * tag '6.6-rc3-ksmbd-server-fixes' of git://git.samba.org/ksmbd: ksmbd: check iov vector index in ksmbd_conn_write() ksmbd: return invalid parameter error response if smb2 request is invalid
Diffstat (limited to 'fs/smb/server/connection.c')
-rw-r--r--fs/smb/server/connection.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/smb/server/connection.c b/fs/smb/server/connection.c
index 0d990c2f33cd..db7fa704a3f6 100644
--- a/fs/smb/server/connection.c
+++ b/fs/smb/server/connection.c
@@ -197,6 +197,9 @@ int ksmbd_conn_write(struct ksmbd_work *work)
if (work->send_no_response)
return 0;
+ if (!work->iov_idx)
+ return -EINVAL;
+
ksmbd_conn_lock(conn);
sent = conn->transport->ops->writev(conn->transport, work->iov,
work->iov_cnt,