linux-stable/drivers/gpu/drm/nouveau
Xiaomeng Tong 41b8e26960 drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator
commit 6ce4431c7b upstream.

The bug is here:
	return encoder;

The list iterator value 'encoder' will *always* be set and non-NULL
by drm_for_each_encoder_mask(), so it is incorrect to assume that the
iterator value will be NULL if the list is empty or no element found.
Otherwise it will bypass some NULL checks and lead to invalid memory
access passing the check.

To fix this bug, just return 'encoder' when found, otherwise return
NULL.

Cc: stable@vger.kernel.org
Fixes: 12885ecbfe ("drm/nouveau/kms/nvd9-: Add CRC support")
Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
[Changed commit title]
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220327073925.11121-1-xiam0nd.tong@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:26:24 +02:00
..
dispnv04 drm/nouveau/kms/nv04: use vzalloc for nv04_display 2021-11-12 23:46:04 +01:00
dispnv50 drm/nouveau/kms/nv50-: atom: fix an incorrect NULL check on list iterator 2022-06-09 10:26:24 +02:00
include drm/nouveau/subdev/bus: Ratelimit logging for fault errors 2022-06-09 10:26:24 +02:00
nvif drm/nouveau: rip out nvkm_client.super 2021-08-18 19:00:15 +10:00
nvkm drm/nouveau/clk: Fix an incorrect NULL check on list iterator 2022-06-09 10:26:24 +02: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: Fix a potential theorical leak in nouveau_get_backlight_name() 2022-05-18 10:28:13 +02:00
nouveau_bios.c drm/nouveau: Remove unused variable ret 2021-11-12 23:46:04 +01:00
nouveau_bios.h
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_bo0039.c
nouveau_bo74c1.c
nouveau_bo85b5.c
nouveau_bo90b5.c
nouveau_bo5039.c
nouveau_bo9039.c
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