linux/drivers/gpu/drm/nouveau
Nick Lopez 1b777d4d9e drm/nouveau: fix off by one in BIOS boundary checking
Bounds checking when parsing init scripts embedded in the BIOS reject
access to the last byte. This causes driver initialization to fail on
Apple eMac's with GeForce 2 MX GPUs, leaving the system with no working
console.

This is probably only seen on OpenFirmware machines like PowerPC Macs
because the BIOS image provided by OF is only the used parts of the ROM,
not a power-of-two blocks read from PCI directly so PCs always have
empty bytes at the end that are never accessed.

Signed-off-by: Nick Lopez <github@glowingmonkey.org>
Fixes: 4d4e9907ff ("drm/nouveau/bios: guard against out-of-bounds accesses to image")
Cc: <stable@vger.kernel.org> # v4.10+
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220122081906.2633061-1-github@glowingmonkey.org
2022-01-31 22:47:53 +01:00
..
dispnv04 drm/nouveau/kms/nv04: use vzalloc for nv04_display 2021-11-12 23:46:04 +01:00
dispnv50 Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
include Merge drm/drm-next into drm-misc-next 2021-11-18 09:36:39 +01:00
nvif drm/nouveau: rip out nvkm_client.super 2021-08-18 19:00:15 +10:00
nvkm drm/nouveau: fix off by one in BIOS boundary checking 2022-01-31 22:47:53 +01:00
Kbuild
Kconfig
nouveau_abi16.c drm/nouveau: rip out nvkm_client.super 2021-08-18 19:00:15 +10:00
nouveau_abi16.h
nouveau_acpi.c nouveau: ACPI: Use the ACPI_COMPANION() macro directly 2021-10-26 15:48:49 +02:00
nouveau_acpi.h
nouveau_backlight.c drm/nouveau/kms/nv50-: Explicitly check DPCD backlights for aux enable/brightness 2021-11-17 17:36:47 -05:00
nouveau_bios.c drm/nouveau: Remove unused variable ret 2021-11-12 23:46:04 +01:00
nouveau_bios.h
nouveau_bo74c1.c
nouveau_bo85b5.c
nouveau_bo90b5.c
nouveau_bo0039.c
nouveau_bo5039.c
nouveau_bo9039.c
nouveau_bo.c drm-misc-next for 5.16: 2021-11-05 13:50:15 +10:00
nouveau_bo.h drm/ttm: device naming cleanup 2021-01-21 14:51:45 +01:00
nouveau_boa0b5.c
nouveau_chan.c drm/nouveau/ga102-: support ttm buffer moves via copy engine 2021-10-06 11:05:45 +02:00
nouveau_chan.h
nouveau_connector.c drm pull for 5.14-rc1 2021-07-01 12:53:43 -07:00
nouveau_connector.h drm/nouveau/kms/nv50-: Add basic DPCD backlight support for nouveau 2021-06-09 13:35:56 -04:00
nouveau_crtc.h
nouveau_debugfs.c drm/nouveau/debugfs: fix file release memory leak 2021-10-06 11:12:29 +02:00
nouveau_debugfs.h
nouveau_display.c drm/nouveau/kms: delete an useless function call in nouveau_framebuffer_new() 2021-11-12 23:46:05 +01:00
nouveau_display.h drm/nouveau: Use drm_gem_ttm_dumb_map_offset() 2021-04-11 20:15:13 +02:00
nouveau_dma.c
nouveau_dma.h
nouveau_dmem.c mm/migrate.c: remove MIGRATE_PFN_LOCKED 2021-11-11 09:34:35 -08:00
nouveau_dmem.h
nouveau_dp.c
nouveau_drm.c drm: Move nomodeset kernel parameter to the DRM subsystem 2021-11-27 13:52:22 +01:00
nouveau_drv.h drm/nouveau: Add a dedicated mutex for the clients list 2021-11-04 12:29:07 +01:00
nouveau_encoder.h drm/nouveau/kms/nv50-: Add basic DPCD backlight support for nouveau 2021-06-09 13:35:56 -04:00
nouveau_fbcon.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
nouveau_fbcon.h
nouveau_fence.c drm for 5.17-rc1 2022-01-10 12:58:46 -08:00
nouveau_fence.h
nouveau_gem.c Removed the TTM Huge Page functionnality to address a crash, a timeout 2021-11-11 08:14:19 +10:00
nouveau_gem.h
nouveau_hwmon.c
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c
nouveau_led.h
nouveau_mem.c drm/nouveau: rip out nvkm_client.super 2021-08-18 19:00:15 +10:00
nouveau_mem.h drm/ttm: flip the switch for driver allocated resources v2 2021-06-04 15:16:46 +02:00
nouveau_nvif.c drm/nouveau: rip out nvkm_client.super 2021-08-18 19:00:15 +10:00
nouveau_platform.c
nouveau_platform.h
nouveau_prime.c drm/nouveau: wait for moving fence after pinning v2 2021-06-22 15:29:03 +02:00
nouveau_reg.h
nouveau_sgdma.c drm/ttm: remove ttm_tt_destroy_common v2 2021-08-23 13:54:55 +02:00
nouveau_svm.c drm next/fixes for 5.16-rc1 2021-11-12 12:11:07 -08:00
nouveau_svm.h
nouveau_ttm.c swiotlb: Update is_swiotlb_active to add a struct device argument 2021-07-13 20:04:41 -04:00
nouveau_ttm.h drm/nouveau: Implement mmap as GEM object function 2021-05-26 20:56:33 +02:00
nouveau_usif.c drm/nouveau: block a bunch of classes from userspace 2021-08-18 19:00:13 +10:00
nouveau_usif.h
nouveau_vga.c vgaarb: don't pass a cookie to vga_client_register 2021-07-21 10:29:10 +02:00
nouveau_vga.h
nouveau_vmm.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
nouveau_vmm.h
nv04_fbcon.c
nv04_fence.c
nv10_fence.c
nv10_fence.h
nv17_fence.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
nv50_display.h
nv50_fbcon.c
nv50_fence.c drm/ttm: rename bo->mem and make it a pointer 2021-06-02 11:07:25 +02:00
nv84_fence.c drm/nouveau/ga102-: support ttm buffer moves via copy engine 2021-10-06 11:05:45 +02:00
nvc0_fbcon.c
nvc0_fence.c