kernel_samsung_a53x/drivers/gpu/drm/nouveau
Mikhail Kobuk c078a9ad84 drm: nv04: Fix out of bounds access
[ Upstream commit cf92bb778eda7830e79452c6917efa8474a30c1e ]

When Output Resource (dcb->or) value is assigned in
fabricate_dcb_output(), there may be out of bounds access to
dac_users array in case dcb->or is zero because ffs(dcb->or) is
used as index there.
The 'or' argument of fabricate_dcb_output() must be interpreted as a
number of bit to set, not value.

Utilize macros from 'enum nouveau_or' in calls instead of hardcoding.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 2e5702aff395 ("drm/nouveau: fabricate DCB encoder table for iMac G4")
Fixes: 670820c0e6a9 ("drm/nouveau: Workaround incorrect DCB entry on a GeForce3 Ti 200.")
Signed-off-by: Mikhail Kobuk <m.kobuk@ispras.ru>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240411110854.16701-1-m.kobuk@ispras.ru
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 11:32:21 +01:00
..
dispnv04 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dispnv50 Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
include Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nvif Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nvkm nouveau: fix function cast warning 2024-11-19 11:32:19 +01:00
Kbuild Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_abi16.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_abi16.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_acpi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_acpi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_backlight.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bios.c drm: nv04: Fix out of bounds access 2024-11-19 11:32:21 +01:00
nouveau_bios.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo0039.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo74c1.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo85b5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo90b5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo5039.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_bo9039.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_boa0b5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_chan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_chan.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_connector.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_connector.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_crtc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_debugfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_display.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_display.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_dma.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_dma.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_dmem.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_dmem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_dp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_drm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_drv.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_encoder.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_fbcon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_fbcon.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_fence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_fence.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_gem.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_gem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_hwmon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_hwmon.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_ioc32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_ioctl.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_led.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_led.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_mem.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_mem.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_nvif.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_platform.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_platform.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_prime.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_reg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_sgdma.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_svm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_svm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_ttm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_ttm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_usif.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_usif.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_vga.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_vga.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nouveau_vmm.c nouveau/vmm: don't set addr on the fail path to avoid warning 2024-11-18 12:12:59 +01:00
nouveau_vmm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv04_fbcon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv04_fence.c drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer 2024-11-18 12:12:39 +01:00
nv10_fence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv10_fence.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv17_fence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv50_display.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv50_fbcon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv50_fence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nv84_fence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nvc0_fbcon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nvc0_fence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00