Commit af5226ab authored by Salah Triki's avatar Salah Triki Committed by Steve French
Browse files

smb: server: smb2pdu: check return value of xa_store()



xa_store() may fail so check its return value and return error code if
error occurred.

Signed-off-by: default avatarSalah Triki <salah.triki@gmail.com>
Acked-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 9c32cda4
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1445,7 +1445,7 @@ static int ntlm_authenticate(struct ksmbd_work *work,
{
	struct ksmbd_conn *conn = work->conn;
	struct ksmbd_session *sess = work->sess;
	struct channel *chann = NULL;
	struct channel *chann = NULL, *old;
	struct ksmbd_user *user;
	u64 prev_id;
	int sz, rc;
@@ -1557,7 +1557,12 @@ static int ntlm_authenticate(struct ksmbd_work *work,
				return -ENOMEM;

			chann->conn = conn;
			xa_store(&sess->ksmbd_chann_list, (long)conn, chann, KSMBD_DEFAULT_GFP);
			old = xa_store(&sess->ksmbd_chann_list, (long)conn, chann,
					KSMBD_DEFAULT_GFP);
			if (xa_is_err(old)) {
				kfree(chann);
				return xa_err(old);
			}
		}
	}