linux/fs/smb/server
Namjae Jeon 5a7ee91d11 ksmbd: fix race condition with fp
fp can used in each command. If smb2_close command is coming at the
same time, UAF issue can happen by race condition.

                           Time
                            +
Thread A                    | Thread B1 B2 .... B5
smb2_open                   | smb2_close
                            |
 __open_id                  |
   insert fp to file_table  |
                            |
                            |   atomic_dec_and_test(&fp->refcount)
                            |   if fp->refcount == 0, free fp by kfree.
 // UAF!                    |
 use fp                     |
                            +
This patch add f_state not to use freed fp is used and not to free fp in
use.

Reported-by: luosili <rootlab@huawei.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2023-10-04 20:21:48 -05:00
..
mgmt ksmbd: fix race condition between session lookup and expire 2023-10-04 20:21:48 -05:00
asn1.c ksmbd: switch to use kmemdup_nul() helper 2023-08-29 12:30:19 -05:00
asn1.h
auth.c ksmbd: fix slub overflow in ksmbd_decode_ntlmssp_auth_blob() 2023-08-29 12:30:20 -05:00
auth.h
connection.c ksmbd: fix race condition between session lookup and expire 2023-10-04 20:21:48 -05:00
connection.h ksmbd: fix race condition between session lookup and expire 2023-10-04 20:21:48 -05:00
crypto_ctx.c
crypto_ctx.h
glob.h
Kconfig ksmbd: remove experimental warning 2023-09-03 21:06:36 -05:00
ksmbd_netlink.h ksmbd: check if a mount point is crossed during path lookup 2023-07-23 10:25:11 -05:00
ksmbd_spnego_negtokeninit.asn1
ksmbd_spnego_negtokentarg.asn1
ksmbd_work.c ksmbd: fix wrong interim response on compound 2023-08-29 12:30:19 -05:00
ksmbd_work.h ksmbd: fix wrong interim response on compound 2023-08-29 12:30:19 -05:00
Makefile
misc.c
misc.h
ndr.c
ndr.h
nterr.h
ntlmssp.h
oplock.c ksmbd: fix wrong DataOffset validation of create context 2023-08-29 12:30:20 -05:00
oplock.h
server.c ksmbd: return invalid parameter error response if smb2 request is invalid 2023-09-21 14:41:06 -05:00
server.h
smb2misc.c ksmbd: return invalid parameter error response if smb2 request is invalid 2023-09-21 14:41:06 -05:00
smb2ops.c
smb2pdu.c ksmbd: fix race condition with fp 2023-10-04 20:21:48 -05:00
smb2pdu.h ksmbd: replace one-element array with flex-array member in struct smb2_ea_info 2023-08-29 12:30:20 -05:00
smb_common.c ksmbd: add support for read compound 2023-08-29 12:30:19 -05:00
smb_common.h ksmbd: fix out of bounds in init_smb2_rsp_hdr() 2023-07-23 10:25:11 -05:00
smbacl.c ksmbd: remove unneeded mark_inode_dirty in set_info_sec() 2023-09-13 10:21:05 -05:00
smbacl.h
smbfsctl.h
smbstatus.h
transport_ipc.c ksmbd: use kvzalloc instead of kvmalloc 2023-06-26 00:07:04 -05:00
transport_ipc.h
transport_rdma.c ksmbd: reduce descriptor size if remaining bytes is less than request size 2023-08-29 12:30:20 -05:00
transport_rdma.h
transport_tcp.c
transport_tcp.h
unicode.c fs/smb: Swing unicode common code from smb->NLS 2023-08-30 08:55:51 -05:00
unicode.h fs/smb: Swing unicode common code from smb->NLS 2023-08-30 08:55:51 -05:00
vfs_cache.c ksmbd: fix race condition with fp 2023-10-04 20:21:48 -05:00
vfs_cache.h ksmbd: fix race condition with fp 2023-10-04 20:21:48 -05:00
vfs.c ten ksmbd server fixes 2023-08-31 15:28:26 -07:00
vfs.h ksmbd: add support for read compound 2023-08-29 12:30:19 -05:00
xattr.h