linux-IllusionX/drivers/net/ethernet/mediatek
Zheng Zhang db1b4bedb9 net: ethernet: mtk_wed: fix use-after-free panic in mtk_wed_setup_tc_block_cb()
When there are multiple ap interfaces on one band and with WED on,
turning the interface down will cause a kernel panic on MT798X.

Previously, cb_priv was freed in mtk_wed_setup_tc_block() without
marking NULL,and mtk_wed_setup_tc_block_cb() didn't check the value, too.

Assign NULL after free cb_priv in mtk_wed_setup_tc_block() and check NULL
in mtk_wed_setup_tc_block_cb().

----------
Unable to handle kernel paging request at virtual address 0072460bca32b4f5
Call trace:
 mtk_wed_setup_tc_block_cb+0x4/0x38
 0xffffffc0794084bc
 tcf_block_playback_offloads+0x70/0x1e8
 tcf_block_unbind+0x6c/0xc8
...
---------

Fixes: 799684448e ("net: ethernet: mtk_wed: introduce wed wo support")
Signed-off-by: Zheng Zhang <everything411@qq.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-08-12 14:12:09 +01:00
..
airoha_eth.c net: airoha: Fix MBI_RX_AGE_SEL_MASK definition 2024-07-23 12:27:24 +02:00
Kconfig net: airoha: Introduce ethernet support for EN7581 SoC 2024-07-14 07:46:53 -07:00
Makefile net: airoha: Introduce ethernet support for EN7581 SoC 2024-07-14 07:46:53 -07:00
mtk_eth_path.c net: ethernet: mtk_eth_soc: add basic support for MT7988 SoC 2023-07-26 22:05:10 -07:00
mtk_eth_soc.c net: mediatek: Fix potential NULL pointer dereference in dummy net_device handling 2024-07-25 11:24:03 +02:00
mtk_eth_soc.h net: ethernet: mtk_eth_soc: ppe: add support for multiple PPEs 2024-06-12 17:44:10 -07:00
mtk_ppe.c net: ethernet: mtk_eth_soc: Reuse value using READ_ONCE instead of re-rereading it 2024-04-04 15:46:52 +02:00
mtk_ppe.h net: ethernet: mtk_ppe: Change PPE entries number to 16K 2024-07-05 17:20:25 -07:00
mtk_ppe_debugfs.c net: ethernet: mtk_eth_soc: always mtk_get_ib1_pkt_type 2023-07-19 21:15:04 -07:00
mtk_ppe_offload.c net: ethernet: mtk_eth_soc: ppe: prevent ppe update for non-mtk devices 2024-06-25 15:35:53 +02:00
mtk_ppe_regs.h net: ethernet: mtk_eth_soc: support per-flow accounting on MT7988 2023-08-03 11:28:37 +02:00
mtk_star_emac.c net: ethernet: mtk-star-emac: set mac_managed_pm when probing 2024-07-11 10:13:28 +02:00
mtk_wed.c net: ethernet: mtk_wed: fix use-after-free panic in mtk_wed_setup_tc_block_cb() 2024-08-12 14:12:09 +01:00
mtk_wed.h net: ethernet: mtk_wed: introduce partial AMSDU offload support for MT7988 2023-09-19 18:27:56 +02:00
mtk_wed_debugfs.c net: ethernet: mtk_wed: debugfs: add WED 3.0 debugfs entries 2023-09-19 18:27:56 +02:00
mtk_wed_mcu.c net: ethernet: mtk_wed: remove wo pointer in wo_r32/wo_w32 signature 2023-10-24 17:08:46 -07:00
mtk_wed_ops.c
mtk_wed_regs.h net: ethernet: mtk_wed: add wed 3.0 reset support 2023-09-19 18:27:56 +02:00
mtk_wed_wo.c net: introduce page_frag_cache_drain() 2024-03-05 11:38:14 +01:00
mtk_wed_wo.h net: ethernet: mtk_wed: introduce WED support for MT7988 2023-09-19 18:27:56 +02:00