Cristian Ciocaltea
cc6d7aca2f
drm/rockchip: dw_dp: Release core resources
Core resources such as the DisplayPort AUX channel get initialized and
registered during dw_dp_bind(), but are never unregistered, which may
lead to memory leaks and/or use-after-free:
[ 224.661371] BUG: KASAN: slab-use-after-free in device_is_dependent+0xe0/0x2b0
[ 224.662015] Read of size 8 at addr ffff00011aee8550 by task modprobe/658
[ 224.662612]
[ 224.662752] CPU: 7 UID: 0 PID: 658 Comm: modprobe Not tainted 7.0.0-rc2-next-20260305 #14 PREEMPT
[ 224.662759] Hardware name: Radxa ROCK 5B (DT)
[ 224.662762] Call trace:
[ 224.662764] show_stack+0x20/0x38 (C)
[ 224.662772] dump_stack_lvl+0x6c/0x98
[ 224.662777] print_report+0x160/0x4b8
[ 224.662783] kasan_report+0xb4/0xe0
[ 224.662790] __asan_report_load8_noabort+0x20/0x30
[ 224.662796] device_is_dependent+0xe0/0x2b0
[ 224.662802] device_is_dependent+0x108/0x2b0
[ 224.662808] device_link_add+0x1f8/0x10b0
[ 224.662813] devm_of_phy_get_by_index+0x120/0x200
[ 224.662819] dw_dp_bind+0x34c/0xb10 [dw_dp]
[ 224.662830] dw_dp_rockchip_bind+0x194/0x250 [rockchipdrm]
[ 224.662864] component_bind_all+0x3a8/0x720
[ 224.662869] rockchip_drm_bind+0x120/0x390 [rockchipdrm]
[ 224.662899] try_to_bring_up_aggregate_device+0x76c/0x838
[ 224.662904] component_master_add_with_match+0x1f4/0x230
[ 224.662909] rockchip_drm_platform_probe+0x420/0x538 [rockchipdrm]
[ 224.662939] platform_probe+0xe8/0x168
[ 224.662945] really_probe+0x340/0x828
[ 224.662950] __driver_probe_device+0x2e0/0x350
[ 224.662954] driver_probe_device+0x80/0x140
[ 224.662959] __driver_attach+0x398/0x460
[ 224.662964] bus_for_each_dev+0xe0/0x198
[ 224.662968] driver_attach+0x50/0x68
[ 224.662972] bus_add_driver+0x2a0/0x4c0
[ 224.662977] driver_register+0x294/0x360
[ 224.662982] __platform_driver_register+0x7c/0x98
[ 224.662987] rockchip_drm_init+0xc4/0xff8 [rockchipdrm]
Since a previous commit exported dw_dp_unbind() function in DW DP core
library to take care of the necessary cleanup, use this in the
component's unbind() callback, as well as in its bind() error path.
Fixes: d68ba7bac9 ("drm/rockchip: Add RK3588 DPTX output support")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260601-drm-rk-fixes-v4-3-c3f3f123e1da@collabora.com
2026-06-02 21:28:01 +02:00
..
2026-06-01 19:44:24 +02:00
2026-05-19 23:06:09 +02:00
2026-04-30 23:21:31 +02:00
2026-05-18 12:26:51 +02:00
2026-04-23 12:21:14 -07:00
2026-03-27 09:54:31 +01:00
2026-05-23 07:49:05 -07:00
2026-05-20 22:09:08 +02:00
2026-05-20 16:35:47 -04:00
2026-04-24 13:23:50 -07:00
2026-04-27 15:52:51 -06:00
2026-05-04 12:48:30 -07:00
2026-04-28 20:55:53 -07:00
2026-03-20 13:36:32 +01:00
2026-04-24 13:23:50 -07:00
2026-04-06 09:04:53 +02:00
2026-05-20 22:03:41 +02:00
2026-04-14 17:10:15 -07:00
2026-04-16 17:37:03 +08:00
2026-04-17 15:52:58 -07:00
2026-04-21 14:12:01 -07:00
2026-04-04 03:15:39 +09:00
2026-04-17 10:29:01 -07:00
2026-06-01 10:27:22 +02:00
2026-05-20 19:02:01 -07:00
2026-05-05 14:49:48 +02:00
2026-03-20 11:20:43 +09:00
2026-03-16 19:29:45 -07:00
2026-05-23 09:13:00 -07:00
2026-03-25 14:57:26 +08:00
2026-05-19 10:44:32 -03:00
2026-04-06 09:04:53 +02:00
2026-05-21 14:36:07 +02:00
2026-06-02 21:28:01 +02:00
2026-04-02 15:55:09 +02:00
2026-05-18 13:05:41 -07:00
2026-04-02 22:33:44 +02:00
2026-04-12 23:29:31 -07:00
2026-04-24 11:44:52 -07:00
2026-05-21 07:00:39 -07:00
2026-04-06 09:43:18 -05:00
2026-04-24 13:23:50 -07:00
2026-05-19 12:43:08 +02:00
2026-04-12 22:06:02 +02:00
2026-03-11 12:52:00 +01:00
2026-04-24 13:23:50 -07:00
2026-05-23 07:17:27 -07:00
2026-04-22 18:36:40 -07:00
2026-04-07 10:06:50 +02:00
2026-05-15 07:29:16 +02:00
2026-05-21 20:11:29 +02:00
2026-04-09 13:49:19 +01:00
2026-04-18 13:10:14 -05:00
2026-05-01 11:26:15 -07:00
2026-05-04 08:33:39 +02:00
2026-04-17 11:12:42 -07:00
2026-04-20 11:31:01 -07:00
2026-04-24 13:23:50 -07:00
2026-04-10 10:29:58 +02:00
2026-04-02 17:06:09 +02:00
2026-04-27 15:08:04 +02:00
2026-04-24 13:23:50 -07:00
2026-05-21 11:03:58 -07:00
2026-04-27 18:00:43 -07:00
2026-04-15 14:41:21 -07:00
2026-04-13 10:40:26 -07:00
2026-05-21 07:49:05 -07:00
2026-04-06 09:04:53 +02:00
2026-04-18 11:29:14 -07:00
2026-05-04 11:48:12 +02:00
2026-04-02 17:05:56 +02:00
2026-05-21 15:02:12 -07:00
2026-04-23 11:22:16 -07:00
2026-04-14 16:48:56 -07:00
2026-05-19 15:42:11 +05:30
2026-05-13 09:34:55 +02:00
2026-05-22 15:45:26 -07:00
2026-04-27 14:53:30 +02:00
2026-04-19 08:47:40 -07:00
2026-04-01 16:03:05 +02:00
2026-04-02 16:33:00 +02:00
2026-03-17 19:06:19 -07:00
2026-04-23 08:37:07 -07:00
2026-05-18 10:52:24 +01:00
2026-04-17 14:18:55 -07:00
2026-05-14 09:52:05 +01:00
2026-04-28 19:03:50 -07:00
2026-04-06 09:37:51 -05:00
2026-04-25 16:39:03 -07:00
2026-05-11 16:27:25 +02:00
2026-05-22 16:08:06 -07:00
2026-03-17 20:30:57 +01:00
2026-04-17 14:18:55 -07:00
2026-04-17 10:16:53 -07:00
2026-05-22 13:19:41 -07:00
2026-05-14 14:30:01 -07:00
2026-05-14 22:21:01 -04:00
2026-04-16 20:34:34 -07:00
2026-04-14 08:55:18 -07:00
2026-04-10 13:10:28 +02:00
2026-04-19 08:44:41 -07:00
2026-04-21 20:58:06 -04:00
2026-04-05 13:53:44 -07:00
2026-05-08 17:18:43 +02:00
2026-04-04 00:47:50 +02:00
2026-05-14 11:39:03 -06:00
2026-04-23 16:50:42 -07:00
2026-05-04 10:35:55 +02:00
2026-05-20 18:03:17 -07:00
2026-04-15 12:59:16 -07:00
2026-04-03 10:55:12 +02:00
2026-04-07 21:06:59 +02:00
2026-05-12 19:01:37 +02:00
2026-04-23 10:24:02 -07:00
2026-04-23 10:24:02 -07:00