linux/drivers
David Frey 82f3015635 iio: light: opt3001: fix mutex unlock race
When an end-of-conversion interrupt is received after performing a
single-shot reading of the light sensor, the driver was waking up the
result ready queue before checking opt->ok_to_ignore_lock to determine
if it should unlock the mutex. The problem occurred in the case where
the other thread woke up and changed the value of opt->ok_to_ignore_lock
to false prior to the interrupt thread performing its read of the
variable. In this case, the mutex would be unlocked twice.

Signed-off-by: David Frey <dpfrey@gmail.com>
Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
Fixes: 94a9b7b180 ("iio: light: add support for TI's opt3001 light sensor")
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2019-10-09 19:11:29 +01:00
..
accessibility
acpi drivers/acpi/scan.c: document why we don't need the device_hotplug_lock 2019-08-03 07:02:01 -07:00
amba Driver Core and debugfs changes for 5.3-rc1 2019-07-12 12:24:03 -07:00
android binder: prevent transactions to context manager from its own process. 2019-07-24 11:02:28 +02:00
ata libata: add SG safety checks in SFF pio transfers 2019-08-07 12:23:57 -06:00
atm atm: iphase: Fix Spectre v1 vulnerability 2019-08-02 17:30:36 -07:00
auxdisplay auxdisplay: charlcd: add include guard to charlcd.h 2019-08-08 19:59:50 +02:00
base soundwire fixes for v5.3-rc5 2019-08-16 12:35:56 +02:00
bcma
block xen/blkback: fix memory leaks 2019-08-12 08:18:37 -06:00
bluetooth Bluetooth: hci_uart: check for missing tty operations 2019-07-31 13:17:33 -07:00
bus ARM: SoC-related driver updates 2019-07-19 17:13:56 -07:00
cdrom
char tpm: tpm_ibm_vtpm: Fix unallocated banks 2019-08-05 00:55:00 +03:00
clk clk: renesas: cpg-mssr: Fix reset control race condition 2019-07-22 15:04:54 -07:00
clocksource RISC-V: Remove per cpu clocksource 2019-08-06 14:37:58 -07:00
connector connector: remove redundant input callback from cn_dev 2019-07-21 13:31:14 -07:00
counter counter/ftm-quaddec: Use device-managed registration API 2019-07-27 22:55:27 +01:00
cpufreq cpufreq: dev_pm_qos_update_request() can return 1 on success 2019-08-10 13:39:47 +02:00
cpuidle Merge branch 'pm-cpufreq' 2019-07-18 09:49:30 +02:00
crypto Wimplicit-fallthrough patches for 5.3-rc4 2019-08-10 10:10:33 -07:00
dax Merge branch 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-07-19 10:42:02 -07:00
dca
devfreq
dio
dma omap-dma/omap_vout_vrfb: fix off-by-one fi value 2019-08-09 16:33:41 +05:30
dma-buf Merge branch 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-07-19 10:42:02 -07:00
edac EDAC: Fix global-out-of-bounds write when setting edac_mc_poll_msec 2019-06-27 10:24:47 -07:00
eisa
extcon
firewire firewire: mark expected switch fall-throughs 2019-07-25 20:09:37 -05:00
firmware Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-08-18 09:36:51 -07:00
fpga fpga-manager: altera-ps-spi: Fix build error 2019-07-24 11:29:41 +02:00
fsi
gnss
gpio gpiolib: Preserve desc->flags when setting state 2019-07-29 00:57:39 +02:00
gpu Merge tag 'drm-intel-fixes-2019-08-15' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes 2019-08-16 12:41:52 +10:00
greybus staging: greybus: move es2 to drivers/greybus/ 2019-08-27 19:03:08 +02:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid 2019-08-06 11:47:23 -07:00
hsi
hv tools: hv: Use the correct style for SPDX License Identifier 2019-08-17 15:29:34 -04:00
hwmon hwmon: (lm75) Fixup tmp75b clr_mask 2019-08-07 14:50:49 -07:00
hwspinlock hwspinlock: add the 'in_atomic' API 2019-06-29 21:08:14 -07:00
hwtracing SPDX fixes for 5.3-rc5 2019-08-18 09:26:16 -07:00
i2c i2c: stm32: Use the correct style for SPDX License Identifier 2019-08-14 14:56:54 +02:00
i3c i3c: move i3c_device_match_id to device.c and export it 2019-07-27 11:22:19 +02:00
ide It's been a relatively busy cycle for docs: 2019-07-09 12:34:26 -07:00
idle
iio iio: light: opt3001: fix mutex unlock race 2019-10-09 19:11:29 +01:00
infiniband RDMA/siw: Change CQ flags from 64->32 bits 2019-08-13 12:22:06 -04:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2019-08-09 15:31:19 -07:00
interconnect
iommu dma-mapping fixes for 5.3-rc 2019-08-14 10:31:11 -07:00
ipack TTY / Serial driver updates for 5.3-rc1 2019-07-11 15:38:21 -07:00
irqchip irqchip fixes for 5.3 2019-08-01 20:21:00 +02:00
isdn isdn: hfcsusb: Fix mISDN driver crash caused by transfer buffer on the stack 2019-07-31 08:54:06 -07:00
leds LED updates for 5.3-rc1 2019-07-09 08:59:39 -07:00
lightnvm
macintosh drivers/macintosh/smu.c: Mark expected switch fall-through 2019-07-31 21:44:45 +10:00
mailbox - stm32: race fix by adding a spinlock 2019-07-14 16:36:51 -07:00
mcb
md for-linus-20190809 2019-08-09 09:28:18 -07:00
media dmaengine fixes for v5.3-rc5 2019-08-16 08:59:33 -07:00
memory Kbuild updates for v5.3 (2nd) 2019-07-20 09:34:55 -07:00
memstick MMC core: 2019-07-11 18:11:21 -07:00
message SCSI misc on 20190709 2019-07-11 15:14:01 -07:00
mfd mfd: omap-usb-host: Mark expected switch fall-throughs 2019-08-09 19:46:52 -05:00
misc misc: xilinx-sdfec: fix dependency and build error 2019-08-15 18:10:25 +02:00
mmc mmc: cavium: Add the missing dma unmap when the dma has finished. 2019-08-06 18:59:14 +02:00
mtd mtd: spi-nor: Fix the disabling of write protection at init 2019-08-13 14:34:42 +02:00
mux
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 17:11:59 -07:00
nfc NFC: nfcmrvl: fix gpio-handling regression 2019-08-05 10:25:48 -07:00
ntb NTB/msi: remove incorrect MODULE defines 2019-08-05 15:42:27 -04:00
nubus
nvdimm libnvdimm fixes v5.3-rc2 2019-07-27 08:25:51 -07:00
nvme for-linus-2019-08-17 2019-08-17 19:39:54 -07:00
nvmem nvmem: Use the same permissions for eeprom as for nvmem 2019-07-30 18:22:20 +02:00
of of: irq: fix a trivial typo in a doc comment 2019-08-14 20:12:16 -06:00
opp pci-v5.3-changes 2019-07-15 20:44:49 -07:00
oprofile vfs: Convert oprofilefs to use the new mount API 2019-07-04 22:01:59 -04:00
parisc
parport It's been a relatively busy cycle for docs: 2019-07-09 12:34:26 -07:00
pci PCI/ASPM: Add pcie_aspm_enabled() 2019-08-12 10:47:55 +02:00
pcmcia pcmcia: db1xxx_ss: Mark expected switch fall-throughs 2019-08-09 19:53:04 -05:00
perf drivers/perf: arm_pmu: Fix failure path in PM notifier 2019-07-29 11:43:48 +01:00
phy phy: for 5.3 2019-07-01 15:04:59 +02:00
pinctrl pinctrl: aspeed: Make aspeed_pinmux_ips static 2019-07-29 23:35:31 +02:00
platform platform/x86: pcengines-apuv2: use KEY_RESTART for front button 2019-07-29 18:24:59 +03:00
pnp docs: driver-api: add a series of orphaned documents 2019-07-15 11:03:02 -03:00
power power supply and reset changes for the v5.3 series 2019-07-15 21:06:15 -07:00
powercap powercap: Invoke powercap_init() and rapl_init() earlier 2019-07-22 11:23:00 +02:00
pps drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl 2019-07-16 19:23:24 -07:00
ps3
ptp
pwm pwm: Fallback to the static lookup-list when acpi_pwm_get fails 2019-08-08 13:17:38 +02:00
rapidio Merge branch 'akpm' (patches from Andrew) 2019-07-17 08:58:04 -07:00
ras
regulator regulator: of: Add of_node_put() before return in function 2019-08-01 14:07:46 +01:00
remoteproc remoteproc updates for v5.3 2019-07-17 11:44:41 -07:00
reset ARM: SoC-related driver updates 2019-07-19 17:13:56 -07:00
rpmsg
rtc RTC for 5.3 2019-07-17 10:03:50 -07:00
s390 Wimplicit-fallthrough patches for 5.3-rc4 2019-08-10 10:10:33 -07:00
sbus
scsi SCSI fixes on 20190813 2019-08-13 10:31:31 -07:00
sfi
sh
siox
slimbus
sn
soc Merge branch 'pdf_fixes_v1' of https://git.linuxtv.org/mchehab/experimental into mauro 2019-07-22 13:51:20 -06:00
soundwire soundwire: fix regmap dependencies and align with other serial links 2019-08-09 10:20:40 +05:30
spi spi: Fixes for v5.3 2019-08-05 11:49:02 -07:00
spmi
ssb ssb/gpio: Remove unnecessary WARN_ON from driver_gpio 2019-06-25 08:05:34 +03:00
staging staging: rtl8723bs: hal: remove redundant variable n 2019-09-06 18:20:33 +02:00
target scsi: target: cxgbit: add support for IEEE_8021QAZ_APP_SEL_STREAM selector 2019-07-22 17:04:20 -04:00
tc
tee
thermal int340X/processor_thermal_device: Fix proc_thermal_rapl_remove() 2019-07-23 09:36:07 +02:00
thunderbolt Driver Core and debugfs changes for 5.3-rc1 2019-07-12 12:24:03 -07:00
tty kgdboc: disable the console lock when in kgdb 2019-07-30 17:39:39 +02:00
uio
usb USB-serial fixes for 5.3-rc5 2019-08-17 17:09:33 +02:00
uwb
vfio VFIO updates for v5.3-rc1 2019-07-17 11:23:13 -07:00
vhost vhost: disable metadata prefetch optimization 2019-07-26 07:49:29 -04:00
video video: fbdev: omapfb_main: Mark expected switch fall-throughs 2019-08-09 19:51:52 -05:00
virt
virtio Merge branch 'work.mount0' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2019-07-19 10:42:02 -07:00
visorbus bus_find_device: Unify the match callback with class_find_device 2019-06-24 05:22:31 +02:00
vlynq
vme
w1 docs: driver-api: add a series of orphaned documents 2019-07-15 11:03:02 -03:00
watchdog watchdog: riowd: Mark expected switch fall-through 2019-08-09 19:51:01 -05:00
xen xen: fixes for 5.3-rc3 2019-08-02 15:26:48 -07:00
zorro
Kconfig staging: greybus: move the greybus core to drivers/greybus 2019-08-27 19:03:04 +02:00
Makefile staging: greybus: move the greybus core to drivers/greybus 2019-08-27 19:03:04 +02:00