linux/drivers
Todd Poynor c1d43119ec ashmem: avoid deadlock between read and mmap calls
Avoid holding ashmem_mutex across code that can page fault.  Page faults
grab the mmap_sem for the process, which are also held by mmap calls
prior to calling ashmem_mmap, which locks ashmem_mutex.  The reversed
order of locking between the two can deadlock.

The calls that can page fault are read() and the ASHMEM_SET_NAME and
ASHMEM_GET_NAME ioctls.  Move the code that accesses userspace pages
outside the ashmem_mutex.

Bug: 9261835
Change-Id: If1322e981d29c889a56cdc9dfcbc6df2729a45e9
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2013-06-07 12:23:32 -07:00
..
accessibility
acpi ACPI: Add DMI entry for Sony VGN-FW41E_H 2013-03-04 06:06:44 +08:00
amba
ata ata_piix: reenable MS Virtual PC guests 2013-03-14 11:29:42 -07:00
atm atm/iphase: rename fregt_t -> ffreg_t 2013-02-14 10:49:05 -08:00
auxdisplay
base This is the 3.4.35 stable release 2013-03-11 17:34:33 -07:00
bcma bcma: mips: fix clearing device IRQ 2013-01-17 08:50:41 -08:00
block Revert "xen/blkback: Don't trust the handle from the frontend." 2013-04-05 10:04:52 -07:00
bluetooth Bluetooth: Add support for Dell[QCA 0cf3:817a] 2013-04-05 10:04:15 -07:00
cdrom
char This is the 3.4.39 stable release 2013-04-05 20:54:49 -07:00
clk clk: Check parent for NULL in clk_change_rate 2012-07-19 08:58:59 -07:00
clocksource
connector
cpufreq cpufreq: interactive: fix uninitialized spinlock 2013-04-26 18:22:06 +00:00
cpuidle cpuidle: coupled: fix sleeping while atomic in cpu notifier 2012-07-25 11:51:53 -07:00
crypto crypto: mv_cesa requires on CRYPTO_HASH to build 2012-05-15 01:10:06 +00:00
dca dca: check against empty dca_domains list before unregister provider 2013-02-28 06:59:06 -08:00
devfreq
dio
dma ioat: Fix DMA memory sync direction correct flag 2013-01-27 20:47:44 -08:00
edac EDAC: Test correct variable in ->store function 2013-02-03 18:24:41 -06:00
eisa
firewire firewire: add minor number range check to fw_device_init() 2013-03-04 06:06:41 +08:00
firmware efivars: Handle duplicate names from get_next_variable() 2013-04-05 10:04:36 -07:00
gpio gpiolib: Don't return -EPROBE_DEFER to sysfs, or for invalid gpios 2012-11-05 09:50:41 +01:00
gpu gpu: ion: Also shrink memory cached in the deferred free list 2013-05-31 17:57:47 +00:00
hid This is the 3.4.39 stable release 2013-04-05 20:54:49 -07:00
hsi
hv Drivers: hv: Cleanup error handling in vmbus_open() 2012-10-31 10:02:58 -07:00
hwmon hwmon: (sht15) Fix memory leak if regulator_enable() fails 2013-03-20 13:05:00 -07:00
hwspinlock hwspinlock/core: use global ID to register hwspinlocks on multiple devices 2012-07-16 09:04:25 -07:00
i2c i2c-i801: Add Device IDs for Intel Lynx Point-LP PCH 2012-09-14 10:00:33 -07:00
ide
idle
ieee802154
infiniband IPoIB: Fix send lockup due to missed TX completion 2013-03-28 12:12:25 -07:00
input This is the 3.4.35 stable release 2013-03-11 17:34:33 -07:00
iommu iommu/amd: Make sure dma_ops are set for hotplug devices 2013-04-05 10:04:18 -07:00
isdn isdn/gigaset: fix zero size border case in debug dump 2013-02-14 10:49:04 -08:00
leds This is the 3.4.35 stable release 2013-03-11 17:34:33 -07:00
lguest
macintosh
mca
md md: raid0: fix error return from create_stripe_zones. 2013-03-14 11:29:49 -07:00
media media: rc: unlock on error in show_protocols() 2013-03-04 06:06:41 +08:00
memstick
message
mfd mfd: Only unregister platform devices allocated by the mfd core 2013-01-17 08:50:45 -08:00
misc misc: uidstat: avoid create_stat() race and blockage. 2013-05-30 15:38:45 -07:00
mmc mmc: Add tracepoints of mmc block operations 2013-05-17 16:05:36 -07:00
mtd This is the 3.4.35 stable release 2013-03-11 17:34:33 -07:00
net net: wireless: bcmdhd: Update to version 1.88.21 2013-05-30 16:04:05 -07:00
nfc NFC: pn533: Fix mem leak in pn533_in_dep_link_up 2012-12-03 11:47:12 -08:00
nubus
of
oprofile oprofile: perf: use NR_CPUS instead or nr_cpumask_bits for static array 2012-07-16 09:04:21 -07:00
parisc parisc: move definition of PAGE0 to asm/page.h 2012-05-10 15:12:08 -07:00
parport
pci PCI/PM: Clean up PME state when removing a device 2013-02-17 10:49:26 -08:00
pcmcia pcmcia/vrc4171: Add missing spinlock init 2013-02-28 06:59:05 -08:00
pinctrl pinctrl: tegra: set low power mode bank width to 2 2012-10-28 10:14:14 -07:00
platform asus-laptop: Do not call HWRS on init 2013-03-28 12:12:28 -07:00
pnp pnpacpi: fix incorrect TEST_ALPHA() test 2013-01-11 09:06:29 -08:00
power This is the 3.4.35 stable release 2013-03-11 17:34:33 -07:00
pps
ps3
ptp ptp_pch: Add missing #include <linux/slab.h> 2012-05-16 14:44:44 -04:00
rapidio rapidio/tsi721: fix unused variable compiler warning 2012-09-14 10:00:20 -07:00
regulator regulator: wm831x: Set the new rather than old value for DVS VSEL 2013-01-17 08:50:41 -08:00
remoteproc remoteproc: fix a potential NULL-dereference on cleanup 2012-10-07 08:32:28 -07:00
rpmsg rpmsg: fix dependency on initialization order 2012-07-19 08:58:57 -07:00
rtc drivers/rtc/rtc-isl1208.c: call rtc_update_irq() from the alarm irq handler 2013-02-11 08:47:18 -08:00
s390 KVM: s390: Handle hosts not supporting s390-virtio. 2013-02-28 06:59:01 -08:00
sbus
scsi SCSI: storvsc: Initialize the sglist 2013-03-14 11:29:42 -07:00
sfi
sh
sn
spi spi/pl022: disable port when unused 2012-08-09 08:31:38 -07:00
ssb
staging ashmem: avoid deadlock between read and mmap calls 2013-06-07 12:23:32 -07:00
switch
target target/iscsi: Fix mutual CHAP auth on big-endian arches 2013-03-28 12:12:13 -07:00
tc
thermal
tty This is the 3.4.39 stable release 2013-04-05 20:54:49 -07:00
uio
usb f_fs: ffs_func_free: cleanup requests allocated by autoconfig 2013-04-18 19:51:04 -07:00
uwb
vhost vhost/net: fix heads usage of ubuf_info 2013-03-28 12:11:54 -07:00
video This is the 3.4.39 stable release 2013-04-05 20:54:49 -07:00
virt
virtio virtio: force vring descriptors to be allocated from lowmem 2013-01-11 09:06:47 -08:00
vlynq
w1 This is the 3.4.39 stable release 2013-04-05 20:54:49 -07:00
watchdog hpwdt: Fix kdump issue in hpwdt 2012-10-02 10:30:08 -07:00
xen xen/pciback: Don't disable a PCI device that is already disabled. 2013-03-20 13:04:57 -07:00
zorro
Kconfig
Makefile