Re: 6.5.5: UBSAN: radeon_atombios.c: index 1 is out of range for type 'UCHAR [1]'

From: Jeff Johnson
Date: Mon Apr 08 2024 - 20:46:11 EST


On 10/1/23 17:12, Justin Piszcz wrote:
================================================================================
[Sun Oct 1 15:59:04 2023] UBSAN: array-index-out-of-bounds in
drivers/gpu/drm/radeon/radeon_atombios.c:2620:43
[Sun Oct 1 15:59:04 2023] index 1 is out of range for type 'UCHAR [1]'
[Sun Oct 1 15:59:04 2023] CPU: 5 PID: 1 Comm: swapper/0 Tainted: G
T 6.5.5 #13 55df8de52754ef95effc50a55e9206abdea304ac
[Sun Oct 1 15:59:04 2023] Hardware name: Supermicro X9SRL-F/X9SRL-F,
BIOS 3.3 11/13/2018
[Sun Oct 1 15:59:04 2023] Call Trace:
[Sun Oct 1 15:59:04 2023] <TASK>
[Sun Oct 1 15:59:04 2023] dump_stack_lvl+0x36/0x50
[Sun Oct 1 15:59:04 2023] __ubsan_handle_out_of_bounds+0xc7/0x110
[Sun Oct 1 15:59:04 2023] radeon_atombios_get_power_modes+0x87a/0x8f0
[Sun Oct 1 15:59:04 2023] radeon_pm_init+0x13a/0x7e0
[Sun Oct 1 15:59:04 2023] evergreen_init+0x13d/0x3d0
[Sun Oct 1 15:59:04 2023] radeon_device_init+0x60a/0xbf0
[Sun Oct 1 15:59:04 2023] radeon_driver_load_kms+0xb1/0x250
[Sun Oct 1 15:59:04 2023] drm_dev_register+0xfc/0x250
[Sun Oct 1 15:59:04 2023] radeon_pci_probe+0xd0/0x150
[Sun Oct 1 15:59:04 2023] pci_device_probe+0x97/0x130
[Sun Oct 1 15:59:04 2023] really_probe+0xbe/0x2f0
[Sun Oct 1 15:59:04 2023] ? __pfx___driver_attach+0x10/0x10
[Sun Oct 1 15:59:04 2023] __driver_probe_device+0x6e/0x120
[Sun Oct 1 15:59:04 2023] driver_probe_device+0x1a/0x90
[Sun Oct 1 15:59:04 2023] __driver_attach+0xd4/0x170
[Sun Oct 1 15:59:04 2023] bus_for_each_dev+0x87/0xe0
[Sun Oct 1 15:59:04 2023] bus_add_driver+0xf3/0x1f0
[Sun Oct 1 15:59:04 2023] driver_register+0x58/0x120
[Sun Oct 1 15:59:04 2023] ? __pfx_radeon_module_init+0x10/0x10
[Sun Oct 1 15:59:04 2023] do_one_initcall+0x93/0x4a0
[Sun Oct 1 15:59:04 2023] kernel_init_freeable+0x301/0x580
[Sun Oct 1 15:59:04 2023] ? __pfx_kernel_init+0x10/0x10
[Sun Oct 1 15:59:04 2023] kernel_init+0x15/0x1b0
[Sun Oct 1 15:59:04 2023] ret_from_fork+0x2f/0x50
[Sun Oct 1 15:59:04 2023] ? __pfx_kernel_init+0x10/0x10
[Sun Oct 1 15:59:04 2023] ret_from_fork_asm+0x1b/0x30
[Sun Oct 1 15:59:04 2023] </TASK>
[Sun Oct 1 15:59:04 2023]
================================================================================
[Sun Oct 1 15:59:04 2023] [drm] radeon: dpm initialized
[Sun Oct 1 15:59:04 2023] [drm] GART: num cpu pages 262144, num gpu
pages 262144
[Sun Oct 1 15:59:04 2023] [drm] enabling PCIE gen 2 link speeds,
disable with radeon.pcie_gen2=0
[Sun Oct 1 15:59:04 2023] [drm] PCIE GART of 1024M enabled (table at
0x000000000014C000).
[Sun Oct 1 15:59:04 2023] radeon 0000:03:00.0: WB enabled
[Sun Oct 1 15:59:04 2023] radeon 0000:03:00.0: fence driver on ring 0
use gpu addr 0x0000000040000c00
[Sun Oct 1 15:59:04 2023] radeon 0000:03:00.0: fence driver on ring 3
use gpu addr 0x0000000040000c0c
[Sun Oct 1 15:59:04 2023] radeon 0000:03:00.0: fence driver on ring 5
use gpu addr 0x000000000005c418
[Sun Oct 1 15:59:04 2023] radeon 0000:03:00.0: radeon: MSI limited to 32-bit
[Sun Oct 1 15:59:04 2023] radeon 0000:03:00.0: radeon: using MSI.
[Sun Oct 1 15:59:04 2023] [drm] radeon: irq initialized.


Please also open an issue on freedesktop tracker [1].

Thanks.

[1]: https://gitlab.freedesktop.org/drm/amd/-/issues

Issue opened: https://gitlab.freedesktop.org/drm/amd/-/issues/2894

Regards,
Justin

+Kees since I've worked with him on several of these flexible array issues.

I just happened to look at kernel logs today for my ath1*k driver maintenance and see the subject issue is present on my device, running 6.9.0-rc1. The freedesktop issue tracker says the issue is closed, but any fix has not landed in the upstream kernel. Is there a -next patch somewhere?

[ 12.105270] UBSAN: array-index-out-of-bounds in drivers/gpu/drm/radeon/radeon_atombios.c:2718:34
[ 12.105272] index 48 is out of range for type 'UCHAR [1]'
[

If there isn't really an upstream fix, I can probably supply one.

/jeff