From: Namjae Jeon Date: Tue, 30 Mar 2021 03:38:03 +0000 (+0900) Subject: cifsd: fix wrong use of rw semaphore in __session_create() X-Git-Tag: v5.15-rc1~183^2~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69f447be15130b57cc00fa0a5c2d3fa949a46165;p=thirdparty%2Fkernel%2Flinux.git cifsd: fix wrong use of rw semaphore in __session_create() Adding list to session table should be protected by down_write/up_write(). Signed-off-by: Namjae Jeon Signed-off-by: Steve French --- diff --git a/fs/cifsd/mgmt/user_session.c b/fs/cifsd/mgmt/user_session.c index afcdf76a3851c..1b71a20dacdb7 100644 --- a/fs/cifsd/mgmt/user_session.c +++ b/fs/cifsd/mgmt/user_session.c @@ -298,9 +298,9 @@ static struct ksmbd_session *__session_create(int protocol) goto error; if (protocol == CIFDS_SESSION_FLAG_SMB2) { - down_read(&sessions_table_lock); + down_write(&sessions_table_lock); hash_add(sessions_table, &sess->hlist, sess->id); - up_read(&sessions_table_lock); + up_write(&sessions_table_lock); } return sess;