Zheyu Ma
1248582e47
can: peak_pci: peak_pci_remove(): fix UAF
commit 949fe9b355 upstream.
When remove the module peek_pci, referencing 'chan' again after
releasing 'dev' will cause UAF.
Fix this by releasing 'dev' later.
The following log reveals it:
[ 35.961814 ] BUG: KASAN: use-after-free in peak_pci_remove+0x16f/0x270 [peak_pci]
[ 35.963414 ] Read of size 8 at addr ffff888136998ee8 by task modprobe/5537
[ 35.965513 ] Call Trace:
[ 35.965718 ] dump_stack_lvl+0xa8/0xd1
[ 35.966028 ] print_address_description+0x87/0x3b0
[ 35.966420 ] kasan_report+0x172/0x1c0
[ 35.966725 ] ? peak_pci_remove+0x16f/0x270 [peak_pci]
[ 35.967137 ] ? trace_irq_enable_rcuidle+0x10/0x170
[ 35.967529 ] ? peak_pci_remove+0x16f/0x270 [peak_pci]
[ 35.967945 ] __asan_report_load8_noabort+0x14/0x20
[ 35.968346 ] peak_pci_remove+0x16f/0x270 [peak_pci]
[ 35.968752 ] pci_device_remove+0xa9/0x250
Fixes: e6d9c80b7c ("can: peak_pci: add support of some new PEAK-System PCI cards")
Link: https://lore.kernel.org/all/1634192913-15639-1-git-send-email-zheyuma97@gmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-10-27 09:54:26 +02:00
..
2021-10-20 11:40:17 +02:00
2021-09-30 10:09:21 +02:00
2021-10-20 11:40:16 +02:00
2021-07-19 08:53:12 +02:00
2021-09-22 12:26:39 +02:00
2021-09-15 09:47:37 +02:00
2021-09-16 12:56:13 +02:00
2021-07-19 08:53:13 +02:00
2021-10-13 10:08:19 +02:00
2021-05-26 12:05:19 +02:00
2021-08-12 13:21:01 +02:00
2021-09-22 12:26:25 +02:00
2021-09-15 09:47:29 +02:00
2021-09-15 09:47:34 +02:00
2021-10-06 15:42:30 +02:00
2021-10-06 15:42:39 +02:00
2021-05-14 09:44:20 +02:00
2021-09-26 14:07:11 +02:00
2021-07-25 14:35:15 +02:00
2021-10-20 11:40:14 +02:00
2021-07-19 08:53:16 +02:00
2021-10-20 11:40:14 +02:00
2021-09-30 10:09:23 +02:00
2021-07-14 16:53:42 +02:00
2021-10-20 11:40:15 +02:00
2021-10-20 11:40:17 +02:00
2021-10-17 10:42:33 +02:00
2021-05-14 09:44:25 +02:00
2021-07-14 16:53:16 +02:00
2021-10-06 15:42:33 +02:00
2021-07-20 16:10:46 +02:00
2021-10-13 10:08:20 +02:00
2021-10-20 11:40:15 +02:00
2021-09-22 12:26:23 +02:00
2021-10-20 11:40:14 +02:00
2021-08-26 08:36:15 -04:00
2021-10-06 15:42:36 +02:00
2021-09-30 10:09:24 +02:00
2021-07-19 08:53:08 +02:00
2021-09-15 09:47:33 +02:00
2021-09-30 10:09:22 +02:00
2021-09-30 10:09:24 +02:00
2021-09-22 12:26:31 +02:00
2021-07-20 16:10:52 +02:00
2021-07-14 16:53:13 +02:00
2021-09-22 12:26:44 +02:00
2021-10-20 11:40:13 +02:00
2021-10-13 10:08:16 +02:00
2021-09-22 12:26:45 +02:00
2021-10-27 09:54:26 +02:00
2021-08-04 12:27:38 +02:00
2021-09-22 12:26:44 +02:00
2021-10-06 15:42:38 +02:00
2021-09-30 10:09:25 +02:00
2021-10-20 11:40:14 +02:00
2021-09-22 12:26:34 +02:00
2021-09-22 12:26:33 +02:00
2021-09-26 14:07:10 +02:00
2021-09-22 12:26:36 +02:00
2021-10-06 15:42:38 +02:00
2021-08-12 13:21:03 +02:00
2021-07-14 16:53:14 +02:00
2021-07-14 16:53:46 +02:00
2021-09-22 12:26:24 +02:00
2021-10-20 11:40:17 +02:00
2021-09-22 12:26:21 +02:00
2021-10-13 10:08:19 +02:00
2021-09-26 14:07:13 +02:00
2021-05-26 12:05:17 +02:00
2021-09-15 09:47:29 +02:00
2021-09-12 08:56:39 +02:00
2021-05-19 10:08:25 +02:00
2021-09-26 14:07:14 +02:00
2021-09-22 12:26:40 +02:00
2021-10-17 10:42:34 +02:00
2021-08-26 08:36:21 -04:00
2021-10-13 10:08:18 +02:00
2021-07-14 16:53:45 +02:00
2021-09-30 10:09:26 +02:00
2021-07-14 16:53:29 +02:00
2021-09-30 10:09:21 +02:00
2021-09-22 12:26:25 +02:00
2021-10-27 09:54:25 +02:00
2021-09-30 10:09:26 +02:00
2021-06-03 08:59:03 +02:00
2021-10-06 15:42:29 +02:00
2021-05-26 12:05:17 +02:00
2021-10-20 11:40:14 +02:00
2021-09-22 12:26:23 +02:00
2021-09-22 12:26:41 +02:00
2021-10-13 10:08:19 +02:00
2021-10-20 11:40:14 +02:00
2021-07-14 16:53:42 +02:00
2021-07-20 16:10:41 +02:00
2021-10-20 11:40:13 +02:00
2021-10-13 10:08:17 +02:00