On April 8, 2024 5:45:29 PM PDT, Jeff Johnson <quic_jjohn...@quicinc.com> wrote:
>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.
I would expect this to have fixed it:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/gpu/drm/radeon/pptable.h?id=c63079c61177ba1b17fa05c6875699a36924fe39
If not, there must be something else happening?
-Kees
--
Kees Cook