From 49ce7a5564c9aa162c11a29aef4ce1e29e1d593a Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 14 Dec 2021 16:17:35 +0100 Subject: [PATCH] 5.15-stable patches added patches: nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch --- ...gfault-in-nfc_genl_dump_devices_done.patch | 57 +++++++++++++++++++ queue-5.15/series | 1 + 2 files changed, 58 insertions(+) create mode 100644 queue-5.15/nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch create mode 100644 queue-5.15/series diff --git a/queue-5.15/nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch b/queue-5.15/nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch new file mode 100644 index 00000000000..e680edc654a --- /dev/null +++ b/queue-5.15/nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch @@ -0,0 +1,57 @@ +From fd79a0cbf0b2e34bcc45b13acf962e2032a82203 Mon Sep 17 00:00:00 2001 +From: Tadeusz Struk +Date: Wed, 8 Dec 2021 10:27:42 -0800 +Subject: nfc: fix segfault in nfc_genl_dump_devices_done + +From: Tadeusz Struk + +commit fd79a0cbf0b2e34bcc45b13acf962e2032a82203 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: + +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 +Reviewed-by: Krzysztof Kozlowski +Link: https://lore.kernel.org/r/20211208182742.340542-1-tadeusz.struk@linaro.org +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + net/nfc/netlink.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- a/net/nfc/netlink.c ++++ b/net/nfc/netlink.c +@@ -636,8 +636,10 @@ static int nfc_genl_dump_devices_done(st + { + struct class_dev_iter *iter = (struct class_dev_iter *) cb->args[0]; + +- nfc_device_iter_exit(iter); +- kfree(iter); ++ if (iter) { ++ nfc_device_iter_exit(iter); ++ kfree(iter); ++ } + + return 0; + } diff --git a/queue-5.15/series b/queue-5.15/series new file mode 100644 index 00000000000..c790a73e37a --- /dev/null +++ b/queue-5.15/series @@ -0,0 +1 @@ +nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch -- 2.39.5