linux/drivers
Márton Németh eda8cc4ce0 drm via: initialize object_idr
commit ce020ea532 upstream.

The field obejct_idr of struct drm_via_private was introduced with the
commit http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=77ee8f3825054f23b17e9c8f728f061defd86cdc .
In that patch idr_init(&dev->object_name_idr) was called instead of
idr_init(&dev_priv->object_idr) by mistake, leaving the dev_priv->object_idr
uninitialized. To be more exact, the object_idr buffer is filled with zeros
because of kzalloc(), but the dev_priv->object_idr.lock spinlock can cause
system freeze at lib/idr.c:move_to_free_list() when spin_lock_irqsave()
is called on this spinlock.

The patch was tested on Clevo D4J, model D410J laptop, on the following
hardware, without AGP kernel module loaded:

  # lspci -s 01:00.0 -n
  01:00.0 0300: 1106:3108 (rev 01)
  # lspci -s 01:00.0 -v
  01:00.0 VGA compatible controller: VIA Technologies, Inc. K8M800/K8N800/K8N800A [S3 UniChrome Pro] (rev 01) (prog-if 00 [VGA controller])
          Subsystem: CLEVO/KAPOK Computer Device 4702
          Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 16
          Memory at f0000000 (32-bit, prefetchable) [size=64M]
          Memory at d1000000 (32-bit, non-prefetchable) [size=16M]
          Expansion ROM at <unassigned> [disabled]
          Capabilities: [60] Power Management version 2
          Capabilities: [70] AGP version 3.0

Signed-off-by: Márton Németh <nm127@freemail.hu>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-22 11:36:53 -07:00
..
accessibility
acpi acpi_video: fix leaking PCI references 2012-06-17 11:21:28 -07:00
amba ARM: 7366/3: amba: Remove AMBA level regulator support 2012-04-13 14:04:08 +01:00
ata ata_piix: defer disks to the Hyper-V drivers by default 2012-06-17 11:21:29 -07:00
atm solos-pci: Fix DMA support 2012-06-10 00:36:08 +09:00
auxdisplay
base regmap: fix possible memory corruption in regmap_bulk_read() 2012-05-09 15:44:11 +01:00
bcma bcma: add ext PA workaround for BCM4331 and BCM43431 2012-06-17 11:21:26 -07:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2012-05-19 10:12:17 -07:00
bluetooth Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth 2012-04-27 15:16:43 -04:00
cdrom
char hwrng: atmel-rng - fix race condition leading to repeated bits 2012-06-17 11:21:24 -07:00
clk
clocksource Revert "clocksource: Load the ACPI PM clocksource asynchronously" 2012-04-12 00:05:05 +02:00
connector
cpufreq cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS 2012-04-13 17:57:40 -07:00
cpuidle Merge branches 'idle-fix' and 'misc' into release 2012-04-06 21:48:59 -04:00
crypto crypto: mv_cesa requires on CRYPTO_HASH to build 2012-05-15 01:10:06 +00:00
dca
devfreq ARM: global cleanups 2012-03-27 16:03:32 -07:00
dio
dma Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma 2012-05-17 09:57:13 -07:00
edac Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2012-04-06 17:56:20 -07:00
eisa
firewire Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
firmware efivars: Improve variable validation 2012-05-03 17:19:19 -07:00
gpio gpio: mpc8xxx: Prevent NULL pointer deref in demux handler 2012-06-01 15:18:25 +08:00
gpu drm via: initialize object_idr 2012-06-22 11:36:53 -07:00
hid HID: logitech: read all 32 bits of report type bitfield 2012-06-01 15:18:17 +08:00
hsi HSI: hsi_char: Remove max_data_size from sysfs 2012-04-23 14:23:32 +03:00
hv
hwmon hwmon: (coretemp) Increase CPU core limit 2012-05-01 09:16:14 -07:00
hwspinlock
i2c i2c: tegra: notify transfer-complete after clearing status. 2012-06-01 15:18:28 +08:00
ide Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
idle simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
ieee802154
infiniband IB/core: Fix mismatch between locked and pinned pages 2012-06-01 15:18:17 +08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-04-30 10:13:48 -07:00
iommu iommu/amd: Fix deadlock in ppr-handling error path 2012-06-10 00:36:18 +09:00
isdn isdn/gigaset: improve error handling querying firmware version 2012-06-01 15:18:14 +08:00
leds drivers/leds: correct __devexit annotations 2012-05-10 15:06:44 -07:00
lguest
macintosh Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
mca
md md: raid1/raid10: fix problem with merge_bvec_fn 2012-06-10 00:36:18 +09:00
media media: uvcvideo: Fix ENUMINPUT handling 2012-06-01 15:18:26 +08:00
memstick
message Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mfd mfd: Fix build breakage in omap-usb-host.c 2012-05-01 11:55:04 +02:00
misc Merge branch 'akpm' (Andrew's patch-bomb) 2012-04-05 15:30:34 -07:00
mmc mmc: omap_hsmmc: pass IRQF_ONESHOT to request_threaded_irq 2012-06-01 15:18:27 +08:00
mtd mtd: mxc_nand: move ecc strengh setup before nand_scan_tail 2012-06-10 00:36:13 +09:00
net can: c_can: fix race condition in c_can_open() 2012-06-17 11:21:28 -07:00
nfc
nubus Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
of gpio: Fix range check in of_gpio_simple_xlate() 2012-04-10 14:20:56 -06:00
oprofile simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
parisc parisc: move definition of PAGE0 to asm/page.h 2012-05-10 15:12:08 -07:00
parport
pci ACPI / PCI / PM: Fix device PM regression related to D3hot/D3cold 2012-05-17 16:16:16 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia 2012-03-29 16:00:48 -07:00
pinctrl pinctrl: implement pinctrl_check_ops 2012-04-11 09:31:02 +02:00
platform Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-05-06 12:19:38 -07:00
pnp Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-03-30 16:45:39 -07:00
power Various small bugfixes and enhancements, plus two new drivers: 2012-03-30 16:09:02 -07:00
pps
ps3
ptp ptp_pch: Add missing #include <linux/slab.h> 2012-05-16 14:44:44 -04:00
rapidio
regulator regulator: core: Release regulator-regulator supplies on error 2012-06-01 15:18:15 +08:00
remoteproc remoteproc: fix off-by-one bug in __rproc_free_vrings 2012-05-13 23:15:42 +03:00
rpmsg
rtc drivers/rtc/rtc-pl031.c: configure correct wday for 2000-01-01 2012-05-17 18:00:51 -07:00
s390 qeth: Use blkt defaults for OSA Express 4 2012-04-24 00:33:17 -04:00
sbus Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
scsi SCSI: Fix dm-multipath starvation when scsi host is busy 2012-06-10 00:36:06 +09:00
sfi
sh SuperH updates for 3.4 merge window 2012-03-30 00:09:17 -07:00
sn
spi spi/spi-fsl-spi: reference correct pdata in fsl_spi_cs_control 2012-06-01 15:18:25 +08:00
ssb
staging persistent_ram: Fix buffer size clamping during writes 2012-06-01 15:18:18 +08:00
target target: Fix bug in handling of FILEIO + block_device resize ops 2012-05-17 12:02:43 -07:00
tc
thermal
tty hvc_xen: NULL dereference on allocation failure 2012-06-01 15:18:25 +08:00
uio
usb usbcore: enable USB2 LPM if port suspend fails 2012-06-01 15:18:24 +08:00
uwb uwb: fix error handling 2012-04-18 13:15:51 -07:00
vhost vhost-net: fix handle_rx buffer size 2012-05-11 18:16:57 -04:00
video fbdev: sh_mobile_lcdc: Don't confuse line size with pitch 2012-06-01 15:18:16 +08:00
virt
virtio virtio: balloon: let host know of updated balloon size before module removal 2012-05-17 12:14:34 +03:00
vlynq
w1
watchdog hpwdt: Only BYTE reads/writes to WD Timer port 0x72 2012-04-26 14:38:07 +02:00
xen xen: do not map the same GSI twice in PVHVM guests. 2012-06-01 15:18:25 +08:00
zorro
Kconfig Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi 2012-04-02 09:50:40 -07:00
Makefile Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi 2012-04-02 09:50:40 -07:00