UBSAN warning on unplugging USB4 DP alt mode from AMD Yellow Carp graphics card
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
High
|
You-Sheng Yang | ||
Focal |
Invalid
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
High
|
You-Sheng Yang | ||
linux-oem-5.14 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
High
|
Unassigned | ||
Jammy |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[SRU Justification]
[Impact]
An UBSAN error is dumped once when unpluging a type-c cable (at DP Alt
Mode) from a AMD Yellow Carp equipped platform. No side effects found
so far, and subsequent hotplugs won't have this error again.
drivers/
[ 38.099550] load of value 32 is not a valid value for type '_Bool'
[ 38.099552] CPU: 9 PID: 1451 Comm: Xorg Not tainted
5.15.0-2013-generic #13~20.
[ 38.099554] Hardware name: AMD LilacKD-
RRL0080C 09/15/2021
[ 38.099555] Call Trace:
[ 38.099556] <TASK>
[ 38.099558] dump_stack_
[ 38.099563] dump_stack+
[ 38.099564] ubsan_epilogue+
[ 38.099565] __ubsan_
[ 38.099568] create_
...
[Fix]
Commit 63ad5371cd1e ("drm/amd/display: explicitly set is_dsc_supported
to false before use") in linux-next.
[Test Case]
1. Connect an external monitor via USB Type-C able to target platform
2. After external monitor turned on and screen was extended, unplug
Type-C cable
3. check if a similar ubsan warning is dumpped to dmesg.
[Where problems could occur]
No. This initialize a variable before being referenced.
[Other Info]
While UBSAN is only turned on on 5.15 and newer, only Jammy is nominated
for this fix.
========== original bug report ==========
This is a follow-up for jammy 5.15 kernel backport of bug 1953008.
An UBSAN error is dumped once when unpluging a type-c cable (at DP Alt Mode). No side effects found so far, and subsequent hotplug won't have this error again.
[ 38.099545] =======
[ 38.099548] UBSAN: invalid-load in
/tmp/kernel-
[ 38.099550] load of value 32 is not a valid value for type '_Bool'
[ 38.099552] CPU: 9 PID: 1451 Comm: Xorg Not tainted
5.15.0-2013-generic #13~20.
[ 38.099554] Hardware name: AMD LilacKD-
RRL0080C 09/15/2021
[ 38.099555] Call Trace:
[ 38.099556] <TASK>
[ 38.099558] dump_stack_
[ 38.099563] dump_stack+
[ 38.099564] ubsan_epilogue+
[ 38.099565] __ubsan_
[ 38.099568] create_
[ 38.099707] ? dc_link_
[ 38.099819] create_
[ 38.099918] dm_update_
[ 38.100010] ? drm_atomic_
[ 38.100024] amdgpu_
[ 38.100114] ? __ww_mutex_
[ 38.100117] ? __cond_
[ 38.100118] ? __kmalloc_
[ 38.100121] ? amdgpu_
[ 38.100209] ? drm_mode_
[ 38.100222] ?
__drm_atomic_
[drm_kms_helper]
[ 38.100231] drm_atomic_
[ 38.100243] drm_atomic_
[ 38.100253] drm_atomic_
[ 38.100264] drm_mode_
[ 38.100274] ? drm_mode_
[ 38.100284] ? drm_connector_
[ 38.100295] drm_connector_
[ 38.100305] drm_ioctl_
[ 38.100315] drm_ioctl+
[ 38.100324] ? drm_connector_
[ 38.100334] ? do_epoll_
[ 38.100337] amdgpu_
[ 38.100401] __x64_sys_
[ 38.100403] do_syscall_
[ 38.100404] ? syscall_
[ 38.100406] ? do_syscall_
[ 38.100407] ? syscall_
[ 38.100408] ? do_syscall_
[ 38.100409] ? syscall_
[ 38.100410] ? do_syscall_
[ 38.100410] ? syscall_
[ 38.100411] ? do_syscall_
[ 38.100412] ? asm_sysvec_
[ 38.100414] entry_SYSCALL_
[ 38.100415] RIP: 0033:0x7ff1c744050b
[ 38.100417] Code: 0f 1e fa 48 8b 05 85 39 0d 00 64 c7 00 26 00 00
00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00
00 0f 05 <48>
3d 01 f0 ff ff 73 01 c3 48 8b 0d 55 39 0d 00 f7 d8 64 89 01 48
[ 38.100419] RSP: 002b:00007ffe95
0000000000000010
[ 38.100421] RAX: ffffffffffffffda RBX: 00007ffe95883330 RCX: 00007ff1c744050b
[ 38.100421] RDX: 00007ffe95883330 RSI: 00000000c01064ab RDI: 000000000000000c
[ 38.100422] RBP: 00000000c01064ab R08: 0000000000000000 R09: 0000563365760270
[ 38.100422] R10: 0000000000000000 R11: 0000000000000246 R12: 00005633655bdf00
[ 38.100423] R13: 000000000000000c R14: 0000563365e674d0 R15: 0000000000000000
[ 38.100425] </TASK>
[ 38.100425] =======
tags: | added: oem-priority originate-from-1956498 |
Changed in linux (Ubuntu): | |
status: | Incomplete → In Progress |
importance: | Undecided → High |
assignee: | nobody → You-Sheng Yang (vicamo) |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1956497
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.