diff options
author | Ingo Molnar <mingo@kernel.org> | 2023-10-09 18:09:23 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2023-10-09 18:09:23 +0200 |
commit | fdb8b7a1af31d69ee1c8ddc02926cb409eaaecc3 (patch) | |
tree | 9af7010f5f93005adbf6f98c6557552b86d32697 /fs/smb/server/connection.c | |
parent | 0cff993e08a7578e2c1df93a95fc5059f447e7ae (diff) | |
parent | 94f6f0550c625fab1f373bb86a6669b45e9748b3 (diff) |
Merge tag 'v6.6-rc5' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'fs/smb/server/connection.c')
-rw-r--r-- | fs/smb/server/connection.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/smb/server/connection.c b/fs/smb/server/connection.c index 0d990c2f33cd..4b38c3a285f6 100644 --- a/fs/smb/server/connection.c +++ b/fs/smb/server/connection.c @@ -84,6 +84,8 @@ struct ksmbd_conn *ksmbd_conn_alloc(void) spin_lock_init(&conn->llist_lock); INIT_LIST_HEAD(&conn->lock_list); + init_rwsem(&conn->session_lock); + down_write(&conn_list_lock); list_add(&conn->conns_list, &conn_list); up_write(&conn_list_lock); @@ -197,6 +199,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, |