On April 8, 2024 5:45:29 PM PDT, Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> 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