Zheyu Ma
adbda14730
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:53:13 +02:00
..
2021-10-20 11:23:04 +02:00
2021-10-20 11:23:04 +02:00
2021-07-20 16:16:01 +02:00
2021-09-22 11:48:10 +02:00
2021-09-22 11:47:55 +02:00
2021-09-22 11:47:46 +02:00
2021-07-20 16:16:03 +02:00
2021-05-26 11:48:34 +02:00
2021-07-20 16:16:12 +02:00
2021-09-22 11:47:57 +02:00
2021-09-22 11:47:51 +02:00
2021-10-06 15:31:21 +02:00
2021-10-06 15:31:27 +02:00
2021-09-26 13:39:48 +02:00
2021-07-28 11:13:45 +02:00
2021-10-06 15:31:26 +02:00
2021-07-20 16:15:57 +02:00
2021-10-20 11:23:02 +02:00
2021-10-06 15:31:14 +02:00
2021-07-20 16:15:55 +02:00
2021-10-06 15:31:13 +02:00
2021-10-20 11:23:04 +02:00
2021-10-17 10:19:48 +02:00
2021-07-20 16:15:45 +02:00
2021-10-06 15:31:23 +02:00
2021-07-20 16:16:10 +02:00
2021-10-13 10:10:52 +02:00
2021-10-20 11:23:03 +02:00
2021-09-22 11:48:01 +02:00
2021-10-20 11:23:02 +02:00
2021-08-26 08:36:42 -04:00
2021-10-06 15:31:25 +02:00
2021-10-06 15:31:15 +02:00
2021-07-20 16:15:59 +02:00
2021-07-20 16:15:57 +02:00
2021-10-06 15:31:12 +02:00
2021-10-06 15:31:15 +02:00
2021-09-22 11:48:06 +02:00
2021-07-20 16:16:15 +02:00
2021-09-22 11:48:13 +02:00
2021-10-20 11:23:02 +02:00
2021-09-22 11:48:08 +02:00
2021-09-22 11:48:13 +02:00
2021-10-27 09:53:13 +02:00
2021-08-04 12:23:45 +02:00
2021-09-22 11:48:13 +02:00
2021-10-06 15:31:16 +02:00
2021-10-20 11:23:02 +02:00
2021-09-22 11:48:07 +02:00
2021-09-03 09:58:01 +02:00
2021-09-26 13:39:48 +02:00
2021-09-22 11:48:08 +02:00
2021-10-06 15:31:19 +02:00
2021-08-12 13:19:43 +02:00
2021-07-20 16:15:57 +02:00
2021-09-22 11:48:01 +02:00
2021-10-20 11:23:04 +02:00
2021-09-22 11:47:59 +02:00
2021-10-13 10:10:51 +02:00
2021-09-26 13:39:49 +02:00
2021-05-26 11:48:33 +02:00
2021-07-20 16:15:45 +02:00
2021-07-28 11:13:42 +02:00
2021-09-22 11:47:57 +02:00
2021-09-22 11:47:50 +02:00
2021-10-17 10:19:49 +02:00
2021-08-26 08:36:48 -04:00
2021-09-22 11:47:52 +02:00
2021-10-06 15:31:18 +02:00
2021-07-20 16:15:50 +02:00
2021-10-06 15:31:18 +02:00
2021-07-28 11:13:48 +02:00
2021-08-12 13:19:42 +02:00
2021-10-06 15:31:15 +02:00
2021-06-03 08:38:04 +02:00
2021-10-06 15:31:20 +02:00
2021-10-20 11:23:02 +02:00
2021-09-22 11:48:01 +02:00
2021-09-03 09:58:02 +02:00
2021-09-22 11:48:04 +02:00
2021-10-20 11:23:02 +02:00
2021-07-20 16:15:55 +02:00
2021-07-20 16:16:07 +02:00
2021-08-08 08:54:29 +02:00
2021-10-13 10:10:50 +02:00