WSL2-Linux-Kernel/fs/ksmbd
Xin Xiong cf824b95c1 ksmbd: fix reference count leak in smb_check_perm_dacl()
[ Upstream commit d21a580daf ]

The issue happens in a specific path in smb_check_perm_dacl(). When
"id" and "uid" have the same value, the function simply jumps out of
the loop without decrementing the reference count of the object
"posix_acls", which is increased by get_acl() earlier. This may
result in memory leaks.

Fix it by decreasing the reference count of "posix_acls" before
jumping to label "check_access_bits".

Fixes: 777cad1604 ("ksmbd: remove select FS_POSIX_ACL in Kconfig")
Signed-off-by: Xin Xiong <xiongx18@fudan.edu.cn>
Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-14 18:36:06 +02:00
..
mgmt ksmbd: throttle session setup failures to avoid dictionary attacks 2021-10-20 00:07:10 -05:00
Kconfig ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION 2021-11-18 19:16:07 +01:00
Makefile
asn1.c
asn1.h
auth.c ksmbd: add buffer validation in session setup 2021-10-20 00:07:10 -05:00
auth.h
connection.c ksmbd: fix outstanding credits related bugs 2022-06-09 10:23:27 +02:00
connection.h ksmbd: limits exceeding the maximum allowable outstanding requests 2022-01-27 11:02:53 +01:00
crypto_ctx.c ksmbd: remove NTLMv1 authentication 2021-09-29 16:17:34 -05:00
crypto_ctx.h ksmbd: remove NTLMv1 authentication 2021-09-29 16:17:34 -05:00
glob.h ksmbd: fix version mismatch with out of tree 2021-10-07 10:18:34 -05:00
ksmbd_netlink.h ksmbd: add reserved room in ipc request/response 2022-01-27 11:02:53 +01:00
ksmbd_spnego_negtokeninit.asn1
ksmbd_spnego_negtokentarg.asn1
ksmbd_work.c
ksmbd_work.h
misc.c ksmbd: missing check for NULL in convert_to_nt_pathname() 2021-09-30 20:00:05 -05:00
misc.h ksmbd: use LOOKUP_BENEATH to prevent the out of share access 2021-09-24 21:25:23 -05:00
ndr.c ksmbd: fix error code in ndr_read_int32() 2021-12-29 12:28:57 +01:00
ndr.h
nterr.h
ntlmssp.h
oplock.c ksmbd: add buffer validation for SMB2_CREATE_CONTEXT 2021-09-30 09:58:07 -05:00
oplock.h
server.c ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION 2021-11-18 19:16:07 +01:00
server.h
smb2misc.c ksmbd: fix outstanding credits related bugs 2022-06-09 10:23:27 +02:00
smb2ops.c ksmbd: add support for smb2 max credit parameter 2022-01-27 11:02:53 +01:00
smb2pdu.c ksmbd: set fixed sector size to FS_SECTOR_SIZE_INFORMATION 2022-05-09 09:14:40 +02:00
smb2pdu.h ksmbd: add support for smb2 max credit parameter 2022-01-27 11:02:53 +01:00
smb_common.c ksmbd: fix outstanding credits related bugs 2022-06-09 10:23:27 +02:00
smb_common.h ksmbd: add support for smb2 max credit parameter 2022-01-27 11:02:53 +01:00
smbacl.c ksmbd: fix reference count leak in smb_check_perm_dacl() 2022-06-14 18:36:06 +02:00
smbacl.h ksmbd: fix translation in acl entries 2021-09-03 23:29:44 -05:00
smbfsctl.h
smbstatus.h
transport_ipc.c ksmbd: add support for smb2 max credit parameter 2022-01-27 11:02:53 +01:00
transport_ipc.h ksmbd: throttle session setup failures to avoid dictionary attacks 2021-10-20 00:07:10 -05:00
transport_rdma.c ksmbd: add buffer validation for smb direct 2021-10-15 09:18:29 -05:00
transport_rdma.h
transport_tcp.c ksmbd: uninitialized variable in create_socket() 2022-01-27 11:02:52 +01:00
transport_tcp.h
unicode.c
unicode.h
uniupr.h
vfs.c ksmbd: add validation in smb2_ioctl 2021-10-13 23:37:18 -05:00
vfs.h ksmbd: don't align last entry offset in smb2 query directory 2022-02-23 12:03:18 +01:00
vfs_cache.c ksmbd: increment reference count of parent fp 2022-05-09 09:14:40 +02:00
vfs_cache.h ksmbd: remove unused ksmbd_file_table_flush function 2021-09-03 23:29:45 -05:00
xattr.h