linux-hardened/drivers/gpu/drm/nouveau
Maarten Lankhorst b43decd2c5 drm/nouveau: fix handling empty channel list in ioctl's
If there are no channels, chan would never end up being NULL,
and so the null pointer check would fail.

Solve this by initializing chan to NULL, and iterating over temp instead.

Fixes oops when running intel-gpu-tools/tests/kms_flip, which attempts to
do some intel ioctl's on a nouveau device.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Cc: stable@vger.kernel.org [3.7+]
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-03-29 13:44:57 +10:00
..
core drm/nouveau/core: fix return value of nouveau_object_del() 2013-03-19 15:26:30 +10:00
Kconfig Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2013-02-20 17:54:13 +10:00
Makefile drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_abi16.c drm/nouveau: fix handling empty channel list in ioctl's 2013-03-29 13:44:57 +10:00
nouveau_abi16.h drm/nouveau: port all engines to new engine module format 2012-10-03 13:12:56 +10:00
nouveau_acpi.c drm/nouveau: Add interface to detect optimus and v1 support 2012-11-29 09:57:59 +10:00
nouveau_acpi.h nouveau: ACPI support depends on X86 and X86_PLATFORM_DEVICES 2013-02-20 16:05:16 +10:00
nouveau_agp.c drm/nouveau: Disable AGP on PowerPC again. 2013-03-04 11:46:12 +10:00
nouveau_agp.h drm/nouveau: implement devinit subdev, and new init table parser 2012-10-03 13:12:47 +10:00
nouveau_backlight.c drm/nouveau: handle backlight_device_register failure 2013-02-20 16:00:39 +10:00
nouveau_bios.c drm/nv50: initial kms support for off-chip TMDS/DP encoders 2013-02-20 16:01:05 +10:00
nouveau_bios.h drm/nouveau: remove some more unnecessary legacy bios code 2013-02-20 16:00:27 +10:00
nouveau_bo.c drm/nv50: use correct tiling methods for m2mf buffer moves 2013-03-11 08:43:09 +10:00
nouveau_bo.h drm/nouveau: use prime helpers 2013-02-08 13:39:09 +10:00
nouveau_calc.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_chan.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nouveau_chan.h drm/nve0: use async copy engine for ttm buffer moves if available 2012-10-03 13:13:02 +10:00
nouveau_connector.c drm/nouveau: store i2c port pointer directly in nouveau_encoder 2013-02-20 16:00:56 +10:00
nouveau_connector.h drm/nouveau/gpio: use event interfaces for interrupt signalling 2013-02-20 16:00:50 +10:00
nouveau_crtc.h drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge 2012-11-29 09:57:58 +10:00
nouveau_debugfs.c drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_debugfs.h drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_display.c Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2013-02-20 17:54:13 +10:00
nouveau_display.h drm/nouveau/disp: port vblank handling to event interface 2013-02-20 16:00:46 +10:00
nouveau_dma.c drm/nouveau: port all engines to new engine module format 2012-10-03 13:12:56 +10:00
nouveau_dma.h drm/nouveau/fence/nv84-: put processes to sleep while waiting on fences 2013-02-20 16:00:48 +10:00
nouveau_dp.c drm/nv50-/disp: move DP link training to core and train from supervisor 2013-02-20 16:01:02 +10:00
nouveau_drm.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-02-25 16:46:44 -08:00
nouveau_drm.h drm/nouveau/disp: port vblank handling to event interface 2013-02-20 16:00:46 +10:00
nouveau_encoder.h drm/nouveau: store i2c port pointer directly in nouveau_encoder 2013-02-20 16:00:56 +10:00
nouveau_fbcon.c drm/<drivers>: simplify ->fb_probe callback 2013-02-14 00:07:58 +01:00
nouveau_fbcon.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nouveau_fence.h drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nouveau_gem.c Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2013-02-20 17:54:13 +10:00
nouveau_gem.h drm/nouveau: use prime helpers 2013-02-08 13:39:09 +10:00
nouveau_hw.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_hw.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_hwsq.h
nouveau_ioc32.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_ioctl.h drm/nouveau: move compat ioctl out of nouveau_drv.h 2012-10-03 13:12:58 +10:00
nouveau_irq.c drm/nv50/disp: move remaining interrupt handling into core 2012-11-29 09:57:52 +10:00
nouveau_irq.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nouveau_mem.c drm/nouveau: quiet some static-related sparse noise 2012-10-03 13:13:07 +10:00
nouveau_perf.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_pm.c drm/nouveau/hwmon: do not expose a buggy temperature if it is unavailable 2013-03-18 11:15:27 +10:00
nouveau_pm.h drm/nouveau/therm: move thermal-related functions to the therm subdev 2012-10-03 13:13:14 +10:00
nouveau_prime.c drm/nouveau: use prime helpers 2013-02-08 13:39:09 +10:00
nouveau_reg.h
nouveau_sgdma.c drm/nouveau: port all engines to new engine module format 2012-10-03 13:12:56 +10:00
nouveau_ttm.c drm/nouveau: store supported dma mask in vmmgr 2012-10-03 13:13:16 +10:00
nouveau_ttm.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nouveau_vga.c drm/nouveau: convert to dev_pm_ops 2012-11-29 09:58:00 +10:00
nouveau_vga.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nouveau_volt.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nv04_crtc.c drm/nouveau: unpin various bo's before destroying 2012-11-29 09:58:11 +10:00
nv04_cursor.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nv04_dac.c drm/nouveau: silence modesetting spam on pre-gf8 chipsets 2012-10-31 10:57:53 +10:00
nv04_dfp.c drm/nouveau: Fix DPMS 1 on G4 Snowball, from snow white to coal black. 2013-02-20 16:00:55 +10:00
nv04_display.c Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2013-02-20 17:54:13 +10:00
nv04_display.h drm/nouveau/disp/nv04: implement a base display object class 2013-02-20 16:00:45 +10:00
nv04_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nv04_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv04_pm.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nv04_tv.c drm/nouveau: use i2c encoder helper wrappers 2013-02-17 17:55:43 -05:00
nv10_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv10_fence.h drm/nouveau: share fence structures between nv10+ and nv50 implementations 2013-02-20 16:00:34 +10:00
nv17_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv17_tv.c drm: encapsulate crtc->set_config calls 2013-01-20 15:57:58 +01:00
nv17_tv.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nv17_tv_modes.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nv40_pm.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nv50_display.c drm/nv50/kms: prevent lockdep false-positive in page flipping path 2013-03-19 15:26:38 +10:00
nv50_display.h drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge 2012-11-29 09:57:58 +10:00
nv50_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nv50_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv50_pm.c drm/nv50-nvc0: switch to common disp impl, removing previous version 2012-11-29 09:57:58 +10:00
nv84_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nva3_pm.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nvc0_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nvc0_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nvc0_pm.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nvreg.h