linux-stable/net/nfc
Tadeusz Struk d89e4211b5 nfc: fix segfault in nfc_genl_dump_devices_done
commit fd79a0cbf0 upstream.

When kmalloc in nfc_genl_dump_devices() fails then
nfc_genl_dump_devices_done() segfaults as below

KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 0 PID: 25 Comm: kworker/0:1 Not tainted 5.16.0-rc4-01180-g2a987e65025e-dirty #5
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-6.fc35 04/01/2014
Workqueue: events netlink_sock_destruct_work
RIP: 0010:klist_iter_exit+0x26/0x80
Call Trace:
<TASK>
class_dev_iter_exit+0x15/0x20
nfc_genl_dump_devices_done+0x3b/0x50
genl_lock_done+0x84/0xd0
netlink_sock_destruct+0x8f/0x270
__sk_destruct+0x64/0x3b0
sk_destruct+0xa8/0xd0
__sk_free+0x2e8/0x3d0
sk_free+0x51/0x90
netlink_sock_destruct_work+0x1c/0x20
process_one_work+0x411/0x710
worker_thread+0x6fd/0xa80

Link: https://syzkaller.appspot.com/bug?id=fc0fa5a53db9edd261d56e74325419faf18bd0df
Reported-by: syzbot+f9f76f4a0766420b4a02@syzkaller.appspotmail.com
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20211208182742.340542-1-tadeusz.struk@linaro.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-17 10:30:12 +01:00
..
hci nfc: constify local pointer variables 2021-07-30 17:22:52 +02:00
nci NFC: add NCI_UNREG flag to eliminate the race 2021-11-25 09:48:40 +01:00
af_nfc.c nfc: fix error handling of nfc_proto_register() 2021-10-13 17:32:38 -07:00
core.c NFC: reorder the logic in nfc_{un,}register_device 2021-11-25 09:48:40 +01:00
digital.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
digital_core.c NFC: digital: fix possible memory leak in digital_tg_listen_mdaa() 2021-10-13 17:44:29 -07:00
digital_dep.c net:nfc:digital: Fix a double free in digital_tg_recv_dep_req 2021-04-27 15:36:10 -07:00
digital_technology.c NFC: digital: fix possible memory leak in digital_in_send_sdd_req() 2021-10-13 17:44:29 -07:00
Kconfig net: remove redundant 'depends on NET' 2021-01-27 17:04:12 -08:00
llcp.h nfc: constify several pointers to u8, char and sk_buff 2021-07-30 17:22:52 +02:00
llcp_commands.c nfc: constify several pointers to u8, char and sk_buff 2021-07-30 17:22:52 +02:00
llcp_core.c nfc: constify several pointers to u8, char and sk_buff 2021-07-30 17:22:52 +02:00
llcp_sock.c nfc: fix NULL ptr dereference in llcp_sock_getname() after failed connect 2021-05-31 22:43:27 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
netlink.c nfc: fix segfault in nfc_genl_dump_devices_done 2021-12-17 10:30:12 +01:00
nfc.h nfc: constify several pointers to u8, char and sk_buff 2021-07-30 17:22:52 +02:00
rawsock.c net: in_irq() cleanup 2021-08-13 14:09:19 -07:00