ksmbd: fix use-after-free in smb_break_all_levII_oplock()
authorNamjae Jeon <linkinjeon@kernel.org>
Tue, 15 Apr 2025 00:30:21 +0000 (09:30 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 15 Apr 2025 03:21:26 +0000 (22:21 -0500)
commit18b4fac5ef17f77fed9417d22210ceafd6525fc7
treebff38add083b6974b42f5c0ea2f21f29b90a7667
parent21a4e47578d44c6b37c4fc4aba8ed7cc8dbb13de
ksmbd: fix use-after-free in smb_break_all_levII_oplock()

There is a room in smb_break_all_levII_oplock that can cause racy issues
when unlocking in the middle of the loop. This patch use read lock
to protect whole loop.

Cc: stable@vger.kernel.org
Reported-by: Norbert Szetei <norbert@doyensec.com>
Tested-by: Norbert Szetei <norbert@doyensec.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/oplock.c
fs/smb/server/oplock.h