Vaibhav Jain
c335b49379
cxl: Wrap iterations over afu slices inside 'afu_list_lock'
...
commit edeb304f659792fb5bab90d7d6f3408b4c7301fb upstream.
Within cxl module, iteration over array 'adapter->afu' may be racy
at few points as it might be simultaneously read during an EEH and its
contents being set to NULL while driver is being unloaded or unbound
from the adapter. This might result in a NULL pointer to 'struct afu'
being de-referenced during an EEH thereby causing a kernel oops.
This patch fixes this by making sure that all access to the array
'adapter->afu' is wrapped within the context of spin-lock
'adapter->afu_list_lock'.
Fixes: 9e8df8a219 ("cxl: EEH support")
Cc: stable@vger.kernel.org # v4.3+
Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Frederic Barrat <fbarrat@linux.ibm.com>
Acked-by: Christophe Lombard <clombard@linux.vnet.ibm.com>
Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-03-23 20:10:03 +01:00
..
altera-stapl
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07:00
c2port
kmemcheck: remove annotations
2017-11-15 18:21:04 -08:00
cardreader
misc: rtsx: make several functions static
2018-07-03 13:01:48 +02:00
cb710
cb710: Convert to new IDA API
2018-08-21 23:54:18 -04:00
cxl
cxl: Wrap iterations over afu slices inside 'afu_list_lock'
2019-03-23 20:10:03 +01:00
echo
misc: Remove Blackfin DSP echo support
2018-03-26 15:56:37 +02:00
eeprom
eeprom: at24: add support for 24c2048
2019-02-20 10:25:35 +01:00
genwqe
genwqe: Fix size check
2019-01-13 09:51:10 +01:00
ibmasm
ibmasm: don't write out of bounds in read handler
2018-07-07 09:59:35 +02:00
lis3lv02d
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
lkdtm
lkdtm: Add missing SPDX-License-Identifier line
2018-03-06 19:18:55 -08:00
mei
mei: bus: move hw module get/put to probe/release
2019-03-23 20:09:39 +01:00
mic
mic: vop: Fix use-after-free on remove
2019-02-15 08:10:12 +01:00
ocxl
ocxl: Fix endiannes bug in read_afu_name()
2019-01-09 17:38:43 +01:00
sgi-gru
drivers/misc/sgi-gru: fix Spectre v1 vulnerability
2018-11-27 16:13:10 +01:00
sgi-xp
sgi-xp: xpc_partition: mark expected switch fall-throughs
2018-07-07 17:38:57 +02:00
ti-st
misc: ti-st: Fix memory leak in the error path of probe()
2018-08-02 10:35:04 +02:00
vmw_vmci
VMCI: Resource wildcard match fixed
2018-11-13 11:08:34 -08:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c
ad525x_dpot.c
misc: ad525x_dpot: macros should not use a trailing semicolon
2017-12-18 16:02:26 +01:00
ad525x_dpot.h
misc: ad525x_dpot: Unnecessary space before function pointer arguments
2017-12-18 15:59:17 +01:00
apds990x.c
misc: apds990x: Missing a blank line after declarations.
2017-12-18 16:02:26 +01:00
apds9802als.c
misc: apds9802als: constify i2c_device_id
2017-08-28 16:55:49 +02:00
aspeed-lpc-ctrl.c
misc: aspeed-lpc-ctrl: Enable FWH and A2H bridge cycles
2018-03-15 18:20:51 +01:00
aspeed-lpc-snoop.c
drivers/misc: Aspeed LPC snoop output using misc chardev
2018-07-16 13:30:47 +02:00
atmel-ssc.c
misc: atmel-ssc: Fix section annotation on atmel_ssc_get_driver_data
2018-11-27 16:13:10 +01:00
atmel_tclib.c
bh1770glc.c
misc: bh1770glc: constify attribute_group structures.
2017-08-28 16:55:48 +02:00
cs5535-mfgpt.c
ds1682.c
misc: ds1682: Ignore update-in-progress ETC reads
2018-01-09 17:03:57 +01:00
dummy-irq.c
enclosure.c
misc: enclosure: Remove unnecessary error check
2017-12-07 18:45:31 +01:00
fsa9480.c
misc: fsa9480: Add blank line after declarations.
2018-01-09 17:03:57 +01:00
hmc6352.c
misc: hmc6352: fix potential Spectre v1
2018-09-12 09:31:00 +02:00
hpilo.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
hpilo.h
misc: hpilo: Use SPDX-License-Identifier
2017-12-07 18:45:31 +01:00
ibmvmc.c
misc: ibmvsm: Fix potential NULL pointer dereference
2019-01-31 08:14:35 +01:00
ibmvmc.h
misc: IBM Virtual Management Channel Driver (VMC)
2018-05-14 16:35:42 +02:00
ics932s401.c
misc: ics932s401: open brace should be on the previous line
2017-12-18 16:00:57 +01:00
ioc4.c
misc: ioc4: constify pci_device_id.
2017-08-28 16:55:48 +02:00
isl29003.c
misc: isl29003: Missing a blank line after declarations
2017-12-07 18:45:31 +01:00
isl29020.c
misc: isl29020: constify i2c_device_id
2017-08-28 16:55:49 +02:00
Kconfig
misc: IBM Virtual Management Channel Driver (VMC)
2018-05-14 16:35:42 +02:00
kgdbts.c
misc: kgdbts: Display progress of asynchronous tests
2018-01-25 08:40:17 -06:00
lattice-ecp3-config.c
Makefile
misc: IBM Virtual Management Channel Driver (VMC)
2018-05-14 16:35:42 +02:00
pch_phub.c
MISC: add const to bin_attribute structures
2017-08-28 16:55:48 +02:00
pci_endpoint_test.c
pci_endpoint_test: Add 2 ioctl commands
2018-07-19 11:46:57 +01:00
phantom.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
pti.c
drivers/misc/intel/pti: Rename the header file to free up the namespace
2017-12-17 12:52:34 +01:00
qcom-coincell.c
spear13xx_pcie_gadget.c
sram-exec.c
sram.c
misc: sram: enable clock before registering regions
2018-07-06 16:48:15 +02:00
sram.h
tifm_7xx1.c
misc: tifm: Remove VLA
2018-04-23 13:31:27 +02:00
tifm_core.c
tsl2550.c
tsl2550: fix lux1_input error in low light
2018-07-07 17:44:52 +02:00
vexpress-syscfg.c
misc: vexpress: Off by one in vexpress_syscfg_exec()
2019-02-15 08:10:11 +01:00
vmw_balloon.c
Merge 4.18-rc5 into char-misc-next
2018-07-16 09:04:54 +02:00