linux/fs/ksmbd
Xin Xiong d21a580daf ksmbd: fix reference count leak in smb_check_perm_dacl()
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>
2022-05-09 22:23:01 -05:00
..
mgmt ksmbd: fix multi session connection failure 2021-12-28 22:47:22 -06:00
asn1.c ksmbd: use oid registry functions to decode OIDs 2021-12-28 22:47:22 -06:00
asn1.h
auth.c ksmbd: add support for key exchange 2022-02-04 00:12:22 -06:00
auth.h ksmbd: fix multi session connection failure 2021-12-28 22:47:22 -06:00
connection.c ksmbd: add smb-direct shutdown 2022-01-10 12:44:19 -06:00
connection.h ksmbd: add smb-direct shutdown 2022-01-10 12:44:19 -06: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
Kconfig ksmbd: remove md4 leftovers 2021-11-11 19:22:58 -06:00
ksmbd_netlink.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
ksmbd_spnego_negtokeninit.asn1
ksmbd_spnego_negtokentarg.asn1
ksmbd_work.c ksmbd: Remove redundant 'flush_workqueue()' calls 2021-11-06 23:52:06 -05:00
ksmbd_work.h ksmbd: remove smb2_buf_length in smb2_hdr 2021-11-11 19:22:58 -06:00
Makefile
misc.c ksmbd: remove filename in ksmbd_file 2022-04-14 20:56:13 -05:00
misc.h ksmbd: remove filename in ksmbd_file 2022-04-14 20:56:13 -05:00
ndr.c ksmbd: fix error code in ndr_read_int32() 2021-12-16 12:36:49 -06:00
ndr.h ksmbd: add user namespace support 2021-07-02 16:27:10 +09:00
nterr.h
ntlmssp.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00
oplock.c ksmbd: remove filename in ksmbd_file 2022-04-14 20:56:13 -05:00
oplock.h ksmbd: remove filename in ksmbd_file 2022-04-14 20:56:13 -05:00
server.c ksmbd: shorten experimental warning on loading the module 2022-03-30 08:14:59 -05:00
server.h ksmbd: change server config string index to enumeration 2021-06-30 14:44:01 +09:00
smb2misc.c ksmbd: limits exceeding the maximum allowable outstanding requests 2022-01-10 12:44:19 -06:00
smb2ops.c ksmbd: add support for smb2 max credit parameter 2022-01-10 12:44:19 -06:00
smb2pdu.c ksmbd: set fixed sector size to FS_SECTOR_SIZE_INFORMATION 2022-04-14 20:56:13 -05:00
smb2pdu.h 14 fixes to cifs client and to smbfs_common code 2022-04-01 14:31:57 -07:00
smb_common.c ksmbd: fix same UniqueId for dot and dotdot entries 2022-02-04 00:12:22 -06:00
smb_common.h ksmbd: add support for smb2 max credit parameter 2022-01-10 12:44:19 -06:00
smbacl.c ksmbd: fix reference count leak in smb_check_perm_dacl() 2022-05-09 22:23:01 -05:00
smbacl.h fs: use low-level mapping helpers 2021-12-03 18:58:11 +01:00
smbfsctl.h
smbstatus.h
transport_ipc.c ksmbd: add support for smb2 max credit parameter 2022-01-10 12:44:19 -06:00
transport_ipc.h ksmbd: throttle session setup failures to avoid dictionary attacks 2021-10-20 00:07:10 -05:00
transport_rdma.c flexible-array transformations for 5.18-rc1 2022-03-24 11:39:32 -07:00
transport_rdma.h ksmbd: set 445 port to smbdirect port by default 2022-01-10 12:44:19 -06:00
transport_tcp.c ksmbd: use netif_is_bridge_port 2022-03-20 11:03:41 -05:00
transport_tcp.h
unicode.c
unicode.h
uniupr.h
vfs_cache.c ksmbd: increment reference count of parent fp 2022-04-14 20:56:13 -05:00
vfs_cache.h ksmbd: remove filename in ksmbd_file 2022-04-14 20:56:13 -05:00
vfs.c ksmbd: remove filename in ksmbd_file 2022-04-14 20:56:13 -05:00
vfs.h ksmbd: don't align last entry offset in smb2 query directory 2022-02-04 00:12:22 -06:00
xattr.h treewide: Replace zero-length arrays with flexible-array members 2022-02-17 07:00:39 -06:00