From 12ba90cb8a7dd2ab802be4ad446c468d79fa4fe1 Mon Sep 17 00:00:00 2001 From: Namjae Jeon Date: Tue, 3 Dec 2024 21:30:06 +0900 Subject: [PATCH] ksmbd: fix missing put Signed-off-by: Namjae Jeon --- smb2pdu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/smb2pdu.c b/smb2pdu.c index 9f7a68ec..3efd5177 100644 --- a/smb2pdu.c +++ b/smb2pdu.c @@ -1716,33 +1716,38 @@ int smb2_sess_setup(struct ksmbd_work *work) rc = -ENOENT; goto out_err; } - ksmbd_user_session_put(sess); if (conn->dialect != sess->dialect) { rc = -EINVAL; + ksmbd_user_session_put(sess); goto out_err; } if (!(req->hdr.Flags & SMB2_FLAGS_SIGNED)) { rc = -EINVAL; + ksmbd_user_session_put(sess); goto out_err; } if (strncmp(conn->ClientGUID, sess->ClientGUID, SMB2_CLIENT_GUID_SIZE)) { rc = -ENOENT; + ksmbd_user_session_put(sess); goto out_err; } if (sess->state == SMB2_SESSION_IN_PROGRESS) { rc = -EACCES; + ksmbd_user_session_put(sess); goto out_err; } if (sess->state == SMB2_SESSION_EXPIRED) { rc = -EFAULT; + ksmbd_user_session_put(sess); goto out_err; } + ksmbd_user_session_put(sess); if (ksmbd_conn_need_reconnect(conn)) { rc = -EFAULT;