UBSAN: shift-out-of-bounds in amd_sfh
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
HWE Next |
New
|
Undecided
|
Unassigned | |||
OEM Priority Project |
New
|
Undecided
|
Unassigned | |||
linux (Ubuntu) | Status tracked in Mantic | |||||
Jammy |
Invalid
|
Undecided
|
Unassigned | |||
Lunar |
Fix Committed
|
High
|
You-Sheng Yang | |||
Mantic |
Fix Released
|
High
|
You-Sheng Yang | |||
linux-oem-6.0 (Ubuntu) | Status tracked in Mantic | |||||
Jammy |
Won't Fix
|
Undecided
|
Unassigned | |||
Lunar |
Invalid
|
Undecided
|
Unassigned | |||
Mantic |
Invalid
|
Undecided
|
Unassigned | |||
linux-oem-6.1 (Ubuntu) | Status tracked in Mantic | |||||
Jammy |
Fix Released
|
High
|
You-Sheng Yang | |||
Lunar |
Invalid
|
Undecided
|
Unassigned | |||
Mantic |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[SRU Justification]
[Impact]
UBSAN: shift-out-of-bounds in drivers/
[ 7.928631] shift exponent 103 is too large for 64-bit type 'long unsigned int'
[ 9.877309] Workqueue: events amd_sfh_work_buffer \[amd_sfh]
[ 9.877327] Call Trace:
[ 9.877331] \<TASK>
[ 9.877335] dump_stack_
[ 9.877346] dump_stack+
[ 9.877348] ubsan_epilogue+
[ 9.877357] __ubsan_
[ 9.877363] ? _raw_spin_
[ 9.877369] ? raw_spin_
[ 9.877378] ? psi_group_
[ 9.877385] float_to_
[ 9.877394] ? get_feature_
[ 9.877402] get_input_
[ 9.877409] ? up+0x37/0x70
[ 9.877414] ? hid_input_
[ 9.877428] amd_sfh_
[ 9.877436] process_
[ 9.877443] worker_
[ 9.877446] ? process_
[ 9.877449] kthread+0xfd/0x130
[ 9.877452] ? kthread_
[ 9.877454] ret_from_
[ 9.877463] \</TASK>
[Fix]
Fixes in:
* commit c1685a862a4b ("HID: amd_sfh: Rename the float32 variable")
* commit 878543661764 ("HID: amd_sfh: Fix for shift-out-
[Test Case]
The affected platform should no longer has such error dumped in kernel dmesg at
boot.
[Where problems could occur]
This renamed a variable and corrected the way shift offset is calculated. No
known side effect.
[Other Info]
The affects kernel >= v6.0 and < v6.5, so Unstable/
nominated for fix.
========== original bug report ==========
UBSAN: shift-out-of-bounds in drivers/
[ 7.928631] shift exponent 103 is too large for 64-bit type 'long unsigned int'
[ 9.877309] Workqueue: events amd_sfh_work_buffer [amd_sfh]
[ 9.877327] Call Trace:
[ 9.877331] <TASK>
[ 9.877335] dump_stack_
[ 9.877346] dump_stack+
[ 9.877348] ubsan_epilogue+
[ 9.877357] __ubsan_
[ 9.877363] ? _raw_spin_
[ 9.877369] ? raw_spin_
[ 9.877378] ? psi_group_
[ 9.877385] float_to_
[ 9.877394] ? get_feature_
[ 9.877402] get_input_
[ 9.877409] ? up+0x37/0x70
[ 9.877414] ? hid_input_
[ 9.877428] amd_sfh_
[ 9.877436] process_
[ 9.877443] worker_
[ 9.877446] ? process_
[ 9.877449] kthread+0xfd/0x130
[ 9.877452] ? kthread_
[ 9.877454] ret_from_
[ 9.877463] </TASK>
Fixes in:
https:/
https:/
This affects kernel >= v6.0.
summary: |
- UBSAN errors in amd_sfh + UBSAN: shift-out-of-bounds in amd_sfh |
tags: | added: amd oem-priority originate-from-2026792 |
tags: | added: originate-from-2025438 |
description: | updated |
Changed in linux (Ubuntu Mantic): | |
status: | In Progress → Fix Released |
Changed in linux-oem-6.1 (Ubuntu Jammy): | |
status: | In Progress → Fix Committed |
tags: | added: originate-from-2026812 stella |
Changed in linux (Ubuntu Lunar): | |
status: | In Progress → Fix Committed |
This has been landed to linus' tree. Will be in v6.5(-rc2).