Zheng Wang
e8d20c3ded
xirc2ps_cs: Fix use after free bug in xirc2ps_detach
...
In xirc2ps_probe, the local->tx_timeout_task was bounded
with xirc2ps_tx_timeout_task. When timeout occurs,
it will call xirc_tx_timeout->schedule_work to start the
work.
When we call xirc2ps_detach to remove the driver, there
may be a sequence as follows:
Stop responding to timeout tasks and complete scheduled
tasks before cleanup in xirc2ps_detach, which will fix
the problem.
CPU0 CPU1
|xirc2ps_tx_timeout_task
xirc2ps_detach |
free_netdev |
kfree(dev); |
|
| do_reset
| //use dev
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Zheng Wang <zyytlz.wz@163.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2023-03-19 10:42:02 +00:00
..
2023-03-13 12:44:53 +01:00
2023-03-17 16:44:41 +01:00
2023-02-24 12:47:33 -08:00
2023-03-03 18:43:02 +09:00
2023-03-05 11:19:16 -08:00
2023-03-15 08:48:58 -06:00
2023-02-09 14:20:04 -08:00
2023-02-27 10:04:49 -08:00
2023-03-12 23:28:10 +02:00
2023-03-06 14:41:20 -08:00
2023-02-21 09:45:13 -08:00
2023-03-03 10:30:58 -08:00
2023-03-07 14:04:13 +01:00
2023-03-05 11:32:30 -08:00
2023-02-25 09:19:23 -08:00
2023-02-25 09:19:23 -08:00
2023-02-24 17:18:54 -08:00
2023-02-17 09:16:34 +01:00
2023-02-21 08:10:03 -08:00
2023-02-24 12:58:55 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 12:58:55 -08:00
2023-03-07 14:15:10 +01:00
2023-03-17 16:06:58 +10:00
2023-03-09 10:17:23 -08:00
2023-02-24 12:58:55 -08:00
2023-02-24 12:58:55 -08:00
2023-02-23 15:03:05 -08:00
2023-02-24 12:58:55 -08:00
2023-03-09 22:07:52 +01:00
2023-02-28 16:05:01 -08:00
2023-02-21 12:13:58 -08:00
2023-02-24 12:47:33 -08:00
2023-02-24 15:11:03 -08:00
2023-02-27 10:04:49 -08:00
2023-02-20 15:49:56 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 12:58:55 -08:00
2023-02-25 11:30:21 -08:00
2023-02-23 15:09:31 -08:00
2023-02-25 11:00:06 -08:00
2023-02-23 14:47:13 -06:00
2023-03-15 12:18:07 -06:00
2023-03-09 21:59:04 +01:00
2023-02-27 10:04:49 -08:00
2023-02-27 09:47:26 -08:00
2023-02-27 14:05:08 -08:00
2023-03-09 21:58:45 +01:00
2023-03-09 15:33:51 +01:00
2023-03-11 09:24:05 -08:00
2023-03-19 10:42:02 +00:00
2023-03-15 00:28:23 -07:00
2023-02-25 11:48:02 -08:00
2023-03-16 07:01:48 -06:00
2023-02-06 19:07:00 +01:00
2023-02-24 13:40:13 -08:00
2023-02-16 13:48:53 +01:00
2023-02-24 12:47:33 -08:00
2023-03-13 09:15:11 +01:00
2023-02-24 12:58:55 -08:00
2023-03-03 09:32:51 -08:00
2023-02-27 10:04:49 -08:00
2023-02-27 10:04:49 -08:00
2023-03-07 12:08:30 +01:00
2023-03-03 16:33:28 -08:00
2023-03-03 10:30:58 -08:00
2023-02-22 21:23:48 -08:00
2023-02-20 12:26:35 +01:00
2023-03-02 09:21:25 -08:00
2023-02-27 10:04:49 -08:00
2023-02-26 12:10:28 -08:00
2023-03-03 09:15:50 -08:00
2023-03-03 14:41:50 -08:00
2023-02-09 16:51:39 -08:00
2023-03-17 09:30:57 -07:00
2023-03-01 09:44:22 -08:00
2023-02-27 10:04:49 -08:00
2023-02-24 17:29:52 -08:00
2023-03-02 09:25:38 -08:00
2023-03-09 10:06:28 +01:00
2023-03-06 16:50:42 -05:00
2023-02-24 12:58:55 -08:00
2023-03-03 20:34:49 +01:00
2023-02-24 12:58:55 -08:00
2023-03-09 21:58:53 +01:00
2023-03-09 21:09:28 -05:00
2023-02-23 17:09:35 -08:00
2023-02-24 17:22:11 -08:00
2023-03-13 02:29:12 -04:00
2023-02-25 11:52:57 -08:00
2023-03-13 02:29:11 -04:00
2023-03-13 10:14:05 +01:00
2023-03-01 10:17:46 +01:00
2023-02-25 11:48:02 -08:00
2023-03-09 21:58:57 +01:00
2023-03-02 11:12:01 -08:00
2023-03-17 10:45:49 -07:00
2023-02-26 11:53:25 -08:00