mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-13 14:04:05 +08:00
75ac9a3dd6
There is a race condition issue between parallel smb2 lock request. Time + Thread A | Thread A smb2_lock | smb2_lock | insert smb_lock to lock_list | spin_unlock(&work->conn->llist_lock) | | | spin_lock(&conn->llist_lock); | kfree(cmp_lock); | // UAF! | list_add(&smb_lock->llist, &rollback_list) + This patch swaps the line for adding the smb lock to the rollback list and adding the lock list of connection to fix the race issue. Reported-by: luosili <rootlab@huawei.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> |
||
---|---|---|
.. | ||
mgmt | ||
asn1.c | ||
asn1.h | ||
auth.c | ||
auth.h | ||
connection.c | ||
connection.h | ||
crypto_ctx.c | ||
crypto_ctx.h | ||
glob.h | ||
Kconfig | ||
ksmbd_netlink.h | ||
ksmbd_spnego_negtokeninit.asn1 | ||
ksmbd_spnego_negtokentarg.asn1 | ||
ksmbd_work.c | ||
ksmbd_work.h | ||
Makefile | ||
misc.c | ||
misc.h | ||
ndr.c | ||
ndr.h | ||
nterr.h | ||
ntlmssp.h | ||
oplock.c | ||
oplock.h | ||
server.c | ||
server.h | ||
smb2misc.c | ||
smb2ops.c | ||
smb2pdu.c | ||
smb2pdu.h | ||
smb_common.c | ||
smb_common.h | ||
smbacl.c | ||
smbacl.h | ||
smbfsctl.h | ||
smbstatus.h | ||
transport_ipc.c | ||
transport_ipc.h | ||
transport_rdma.c | ||
transport_rdma.h | ||
transport_tcp.c | ||
transport_tcp.h | ||
unicode.c | ||
unicode.h | ||
vfs_cache.c | ||
vfs_cache.h | ||
vfs.c | ||
vfs.h | ||
xattr.h |