android_kernel_oneplus_msm8998/drivers
Boris Brezillon 805f0c2609 irqchip/atmel-aic: Fix potential deadlock in ->xlate()
commit 5eb0d6eb3fac3daa60d9190eed9fa41cf809c756 upstream.

aic5_irq_domain_xlate() and aic_irq_domain_xlate() take the generic chip
lock without disabling interrupts, which can lead to a deadlock if an
interrupt occurs while the lock is held in one of these functions.

Replace irq_gc_{lock,unlock}() calls by
irq_gc_{lock_irqsave,unlock_irqrestore}() ones to prevent this bug from
happening.

Fixes: b1479ebb77 ("irqchip: atmel-aic: Add atmel AIC/AIC5 drivers")
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Link: http://lkml.kernel.org/r/1473775109-4192-2-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-24 10:07:43 +02:00
..
accessibility
acpi ACPI / SRAT: fix SRAT parsing order with both LAPIC and X2APIC present 2016-09-07 08:32:45 +02:00
amba
android drivers: android: correct the size of struct binder_uintptr_t for BC_DEAD_BINDER_DONE 2016-03-03 15:07:10 -08:00
ata libata: LITE-ON CX1-JB256-HP needs lower max_sectors 2016-08-10 11:49:29 +02:00
atm
auxdisplay
base base: make module_create_drivers_dir race-free 2016-07-27 09:47:32 -07:00
bcma x86/quirks: Add early quirk to reset Apple AirPort card 2016-08-10 11:49:24 +02:00
block nbd: ratelimit error msgs after socket close 2016-05-11 11:21:10 +02:00
bluetooth Bluetooth: Add support for Intel Bluetooth device 8265 [8087:0a2b] 2016-09-15 08:27:49 +02:00
bus bus: arm-ccn: Fix XP watchpoint settings bitmask 2016-09-24 10:07:40 +02:00
cdrom
char hwrng: exynos - Disable runtime PM on probe failure 2016-09-15 08:27:54 +02:00
clk clk: xgene: Fix divider with non-zero shift value 2016-09-15 08:27:39 +02:00
clocksource clocksource/drivers/sun4i: Clear interrupts after stopping timer in probe function 2016-09-24 10:07:35 +02:00
connector
cpufreq cpufreq: Fix GOV_LIMITS handling for the userspace governor 2016-09-15 08:27:54 +02:00
cpuidle cpuidle: Fix cpuidle_state_is_coupled() argument in cpuidle_enter() 2016-06-07 18:14:34 -07:00
crypto crypto: caam - fix IV loading for authenc (giv)decryption 2016-09-15 08:27:53 +02:00
dca
devfreq
dio
dma dmaengine: usb-dmac: check CHCR.DE bit in usb_dmac_isr_channel() 2016-09-07 08:32:44 +02:00
dma-buf
edac EDAC: Increment correct counter in edac_inc_ue_error() 2016-09-07 08:32:41 +02:00
eisa
extcon extcon: max77843: Use correct size for reading the interrupt register 2016-05-04 14:48:54 -07:00
firewire
firmware efi: Expose non-blocking set_variable() wrapper to efivars 2016-05-04 14:48:49 -07:00
fmc
fpga
gpio gpio: Fix OF build problem on UM 2016-09-07 08:32:43 +02:00
gpu drm: Only use compat ioctl for addfb2 on X86/IA64 2016-09-24 10:07:43 +02:00
hid HID: core: prevent out-of-bound readings 2016-09-15 08:27:48 +02:00
hsi
hv drivers:hv: Lock access to hyperv_mmio resource tree 2016-09-15 08:27:50 +02:00
hwmon hwmon: (iio_hwmon) fix memory leak in name attribute 2016-09-07 08:32:46 +02:00
hwspinlock drivers/hwspinlock: fix race between radix tree insertion and lookup 2016-02-25 12:01:23 -08:00
hwtracing intel_th: Fix a deadlock in modprobing 2016-08-10 11:49:30 +02:00
i2c i2c: cros-ec-tunnel: Fix usage of cros_ec_cmd_xfer() 2016-09-07 08:32:43 +02:00
ide
idle intel_idle: Support for Intel Xeon Phi Processor x200 Product Family 2016-09-15 08:27:46 +02:00
iio iio: ensure ret is initialized to zero before entering do loop 2016-09-24 10:07:38 +02:00
infiniband IB/uverbs: Fix race between uverbs_close and remove_one 2016-09-24 10:07:37 +02:00
input Input: xpad - move pending clear to the correct location 2016-09-15 08:27:48 +02:00
iommu iommu/arm-smmu: Don't BUG() if we find aborting STEs with disable_bypass 2016-09-07 08:32:41 +02:00
ipack
irqchip irqchip/atmel-aic: Fix potential deadlock in ->xlate() 2016-09-24 10:07:43 +02:00
isdn
leds
lguest
lightnvm lightnvm: put bio before return 2016-09-24 10:07:35 +02:00
macintosh
mailbox
mcb mcb: Fixed bar number assignment for the gdd 2016-06-01 12:15:53 -07:00
md md-cluster: make md-cluster also can work when compiled into kernel 2016-09-24 10:07:41 +02:00
media tda10071: Fix dependency to REGMAP_I2C 2016-09-15 08:27:48 +02:00
memory memory: omap-gpmc: Fix omap gpmc EXTRADELAY timing 2016-07-27 09:47:35 -07:00
memstick
message
mfd mfd: qcom_rpm: Parametrize also ack selector size 2016-08-20 18:09:18 +02:00
misc cxl: Enable PCI device ID for future IBM CXL adapter 2016-09-15 08:27:41 +02:00
mmc mmc: dw_mmc: use resource_size_t to store physical address 2016-09-24 10:07:42 +02:00
mtd ubi: Fix race condition between ubi device creation and udev 2016-08-20 18:09:26 +02:00
net ath9k: fix using sta->drv_priv before initializing it 2016-09-24 10:07:41 +02:00
nfc
ntb
nubus
nvdimm libnvdimm, pfn: fix uuid validation 2016-04-20 15:41:54 +09:00
nvme nvme: Call pci_disable_device on the error path. 2016-09-15 08:27:51 +02:00
nvmem nvmem: mxs-ocotp: fix buffer overflow in read 2016-05-11 11:21:21 +02:00
of of: fix reference counting in of_graph_get_endpoint_by_regs 2016-09-07 08:32:41 +02:00
oprofile
parisc
parport
pci genirq/msi: Make sure PCI MSIs are activated early 2016-09-07 08:32:38 +02:00
pcmcia pcmcia: db1xxx_ss: fix last irq_to_gpio user 2016-04-20 15:42:09 +09:00
perf
phy phy: core: fix wrong err handle for phy_power_on 2016-03-03 15:07:28 -08:00
pinctrl pinctrl: at91-pio4: use %pr format string for resource 2016-09-24 10:07:42 +02:00
platform mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper 2016-09-07 08:32:43 +02:00
pnp PNP: Add Broadwell to Intel MCH size workaround 2016-08-16 09:30:48 +02:00
power power_supply: power_supply_read_temp only if use_cnt > 0 2016-08-10 11:49:27 +02:00
powercap
pps pps: do not crash when failed to register 2016-08-10 11:49:25 +02:00
ps3
ptp
pwm pwm: lpc32xx: fix and simplify duty cycle and period calculations 2016-09-15 08:27:43 +02:00
rapidio
ras
regulator regulator: anatop: allow regulator to be in bypass mode 2016-09-15 08:27:54 +02:00
remoteproc remoteproc: Fix potential race condition in rproc_add 2016-08-20 18:09:20 +02:00
reset
rpmsg
rtc rtc: s3c: Add s3c_rtc_{enable/disable}_clk in s3c_rtc_setfreq() 2016-08-20 18:09:27 +02:00
s390 s390/sclp_ctl: fix potential information leak with /dev/sclp 2016-09-15 08:27:51 +02:00
sbus
scsi scsi: fix upper bounds check of sense key in scsi_sense_key_string() 2016-09-15 08:27:54 +02:00
sfi
sh drivers: sh: Restore legacy clock domain on SuperH platforms 2016-03-09 15:34:49 -08:00
sn
soc soc: qcom/spm: shut up uninitialized variable warning 2016-09-24 10:07:42 +02:00
spi spi: pxa2xx: Clear all RFT bits in reset_sccr1() on Intel Quark 2016-08-20 18:09:19 +02:00
spmi
ssb
staging lustre: remove unused declaration 2016-09-15 08:27:52 +02:00
target target: Fix ordered task CHECK_CONDITION early exception handling 2016-08-20 18:09:26 +02:00
tc
thermal thermal: cpu_cooling: fix improper order during initialization 2016-07-27 09:47:29 -07:00
thunderbolt thunderbolt: Fix double free of drom buffer 2016-06-01 12:15:53 -07:00
tty serial: 8250: added acces i/o products quad and octal serial cards 2016-09-24 10:07:38 +02:00
uio
usb xhci: fix null pointer dereference in stop command timeout function 2016-09-24 10:07:41 +02:00
uwb
vfio vfio/pci: Fix NULL pointer oops in error interrupt setup handling 2016-09-07 08:32:37 +02:00
vhost vhost/scsi: fix reuse of &vq->iov[out] in response 2016-09-15 08:27:53 +02:00
video fbdev: da8xx-fb: fix videomodes of lcd panels 2016-05-04 14:48:51 -07:00
virt
virtio virtio: fix memory leak in virtqueue_add() 2016-09-07 08:32:36 +02:00
vlynq
vme
w1 w1:omap_hdq: fix regression 2016-08-20 18:09:22 +02:00
watchdog watchdog: rc32434_wdt: fix ioctl error handling 2016-04-12 09:08:54 -07:00
xen xenbus: don't bail early from xenbus_dev_request_and_reply() 2016-08-10 11:49:26 +02:00
zorro
Kconfig
Makefile