Comment 25 for bug 1970495

Revision history for this message
Jarkko Hyƶty (yarcco) wrote :

Experiencing similar issue frequently with Thinkpad T490 using Ubuntu 20.04 and Thinkpad TB3 dock with two external displays connected via DisplayPort. Occasionally have seen "UBSAN: shift-out-of-bounds" and "UBSAN: invalid-load" errors in addition to "DPDC read NAKed" when connecting the dock, perhaps it is related since those seem to happen in drivers/gpu/drm/drm_dp_mst_topology.c:
---
Dec 23 08:44:24 T490 kernel: [17945.078994] ================================================================================
Dec 23 08:44:24 T490 kernel: [17945.078995] UBSAN: invalid-load in /build/linux-hwe-5.15-jemPrJ/linux-hwe-5.15-5.15.0/drivers/gpu/drm/drm_dp_mst_topology.c:2426:10
Dec 23 08:44:24 T490 kernel: [17945.078998] load of value 64 is not a valid value for type '_Bool'
Dec 23 08:44:24 T490 kernel: [17945.078999] CPU: 6 PID: 37158 Comm: kworker/6:5 Tainted: P O 5.15.0-56-generic #62~20.04.1-Ubuntu
Dec 23 08:44:24 T490 kernel: [17945.079001] Hardware name: LENOVO 20N2000MMX/20N2000MMX, BIOS N2IETA0W (1.78 ) 10/14/2022
Dec 23 08:44:24 T490 kernel: [17945.079002] Workqueue: events_long drm_dp_mst_link_probe_work [drm_kms_helper]
Dec 23 08:44:24 T490 kernel: [17945.079020] Call Trace:
Dec 23 08:44:24 T490 kernel: [17945.079021] <TASK>
Dec 23 08:44:24 T490 kernel: [17945.079022] dump_stack_lvl+0x4a/0x63
Dec 23 08:44:24 T490 kernel: [17945.079025] dump_stack+0x10/0x16
Dec 23 08:44:24 T490 kernel: [17945.079028] ubsan_epilogue+0x9/0x49
Dec 23 08:44:24 T490 kernel: [17945.079030] __ubsan_handle_load_invalid_value.cold+0x44/0x49
Dec 23 08:44:24 T490 kernel: [17945.079033] ? drm_dp_mst_add_port+0xd1/0x100 [drm_kms_helper]
Dec 23 08:44:24 T490 kernel: [17945.079051] drm_dp_mst_handle_link_address_port.cold+0x285/0x32f [drm_kms_helper]
Dec 23 08:44:24 T490 kernel: [17945.079070] drm_dp_send_link_address+0x261/0x440 [drm_kms_helper]
Dec 23 08:44:24 T490 kernel: [17945.079089] drm_dp_check_and_send_link_address+0xdf/0x100 [drm_kms_helper]
Dec 23 08:44:24 T490 kernel: [17945.079107] ? drm_dp_mst_link_probe_work+0x157/0x1a0 [drm_kms_helper]
Dec 23 08:44:24 T490 kernel: [17945.079125] drm_dp_mst_link_probe_work+0x162/0x1a0 [drm_kms_helper]
Dec 23 08:44:24 T490 kernel: [17945.079143] process_one_work+0x228/0x3d0
Dec 23 08:44:24 T490 kernel: [17945.079146] worker_thread+0x4d/0x3f0
Dec 23 08:44:24 T490 kernel: [17945.079149] ? process_one_work+0x3d0/0x3d0
Dec 23 08:44:24 T490 kernel: [17945.079152] kthread+0x127/0x150
Dec 23 08:44:24 T490 kernel: [17945.079154] ? set_kthread_struct+0x50/0x50
Dec 23 08:44:24 T490 kernel: [17945.079156] ret_from_fork+0x1f/0x30
Dec 23 08:44:24 T490 kernel: [17945.079160] </TASK>
Dec 23 08:44:24 T490 kernel: [17945.079161] ================================================================================
...
Dec 23 08:44:26 T490 kernel: [17946.090948] i915 0000:00:02.0: [drm] *ERROR* mstb 000000005985afcd port 70: DPCD read on addr 0x4b0 for 1 bytes NAKed
Dec 23 08:44:26 T490 kernel: [17946.357170] ================================================================================
Dec 23 08:44:26 T490 kernel: [17946.357177] UBSAN: shift-out-of-bounds in /build/linux-hwe-5.15-jemPrJ/linux-hwe-5.15-5.15.0/drivers/gpu/drm/drm_dp_mst_topology.c:3017:19
Dec 23 08:44:26 T490 kernel: [17946.357180] shift exponent 255 is too large for 64-bit type 'long unsigned int'
Dec 23 08:44:26 T490 kernel: [17946.357183] CPU: 6 PID: 37158 Comm: kworker/6:5 Tainted: P O 5.15.0-56-generic #62~20.04.1-Ubuntu
Dec 23 08:44:26 T490 kernel: [17946.357185] Hardware name: LENOVO 20N2000MMX/20N2000MMX, BIOS N2IETA0W (1.78 ) 10/14/2022
Dec 23 08:44:26 T490 kernel: [17946.357187] Workqueue: events_long drm_dp_mst_link_probe_work [drm_kms_helper]
Dec 23 08:44:26 T490 kernel: [17946.357212] Call Trace:
Dec 23 08:44:26 T490 kernel: [17946.357214] <TASK>
Dec 23 08:44:26 T490 kernel: [17946.357216] dump_stack_lvl+0x4a/0x63
Dec 23 08:44:26 T490 kernel: [17946.357222] dump_stack+0x10/0x16
Dec 23 08:44:26 T490 kernel: [17946.357224] ubsan_epilogue+0x9/0x49
Dec 23 08:44:26 T490 kernel: [17946.357226] __ubsan_handle_shift_out_of_bounds.cold+0x61/0x10e
Dec 23 08:44:26 T490 kernel: [17946.357228] ? drm_dp_mst_handle_link_address_port+0x297/0x560 [drm_kms_helper]
Dec 23 08:44:26 T490 kernel: [17946.357242] drm_dp_send_link_address.cold+0x1e8/0x1f8 [drm_kms_helper]
Dec 23 08:44:26 T490 kernel: [17946.357256] drm_dp_check_and_send_link_address+0xdf/0x100 [drm_kms_helper]
Dec 23 08:44:26 T490 kernel: [17946.357269] ? drm_dp_mst_link_probe_work+0x157/0x1a0 [drm_kms_helper]
Dec 23 08:44:26 T490 kernel: [17946.357282] drm_dp_mst_link_probe_work+0x162/0x1a0 [drm_kms_helper]
Dec 23 08:44:26 T490 kernel: [17946.357296] process_one_work+0x228/0x3d0
Dec 23 08:44:26 T490 kernel: [17946.357301] worker_thread+0x4d/0x3f0
Dec 23 08:44:26 T490 kernel: [17946.357303] ? process_one_work+0x3d0/0x3d0
Dec 23 08:44:26 T490 kernel: [17946.357305] kthread+0x127/0x150
Dec 23 08:44:26 T490 kernel: [17946.357308] ? set_kthread_struct+0x50/0x50
Dec 23 08:44:26 T490 kernel: [17946.357310] ret_from_fork+0x1f/0x30
Dec 23 08:44:26 T490 kernel: [17946.357315] </TASK>
Dec 23 08:44:26 T490 kernel: [17946.357316] ================================================================================