]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Dec 2021 15:16:59 +0000 (16:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Dec 2021 15:16:59 +0000 (16:16 +0100)
added patches:
nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch

queue-4.9/nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch [new file with mode: 0644]
queue-4.9/series [new file with mode: 0644]

diff --git a/queue-4.9/nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch b/queue-4.9/nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch
new file mode 100644 (file)
index 0000000..8f07c42
--- /dev/null
@@ -0,0 +1,57 @@
+From fd79a0cbf0b2e34bcc45b13acf962e2032a82203 Mon Sep 17 00:00:00 2001
+From: Tadeusz Struk <tadeusz.struk@linaro.org>
+Date: Wed, 8 Dec 2021 10:27:42 -0800
+Subject: nfc: fix segfault in nfc_genl_dump_devices_done
+
+From: Tadeusz Struk <tadeusz.struk@linaro.org>
+
+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:
+<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>
+---
+ net/nfc/netlink.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/net/nfc/netlink.c
++++ b/net/nfc/netlink.c
+@@ -669,8 +669,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-4.9/series b/queue-4.9/series
new file mode 100644 (file)
index 0000000..c790a73
--- /dev/null
@@ -0,0 +1 @@
+nfc-fix-segfault-in-nfc_genl_dump_devices_done.patch