linux_dsm_epyc7002/drivers/mmc/host
Anatolij Gustschin 70aa610959 mmc: mxcmmc: fix race conditions for host->req and host->data access
mxcmci_dma_callback() is invoked by DMA drivers in soft-irq
context and can be interrupted by the mxcmci_irq() interrupt
which can finish the mmc request or data transfer and set
host->req or host->data pointers to NULL. Then mxcmci_data_done()
crashes with a null pointer dereferences. Protect all accesses
to host->req and host->data by spin locks.

Also check host->data pointer in mxcmci_watchdog() before
dereferencing it.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-04-12 15:13:13 -04:00
..
android-goldfish.c mmc: android-goldfish: use resource_size() 2013-03-22 12:53:52 -04:00
atmel-mci-regs.h mmc: atmel-mci: AP700x PDC is not connected to MCI 2012-10-03 10:05:23 -04:00
atmel-mci.c mmc: atmel-mci: pio hang on block errors 2013-04-08 12:05:47 -04:00
au1xmmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
bfin_sdh.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
cb710-mmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
cb710-mmc.h mmc: Driver for CB710/720 memory card reader (MMC part) 2009-06-13 22:42:58 +02:00
davinci_mmc.c mmc: davinci_mmc: use module_platform_driver_probe() 2013-03-22 12:29:01 -04:00
dw_mmc-exynos.c mmc: dw_mmc: let device core setup the default pin configuration 2013-04-12 14:18:56 -04:00
dw_mmc-pci.c Drivers: mmc: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
dw_mmc-pltfm.c mmc: Convert to devm_ioremap_resource() 2013-01-25 12:21:47 -08:00
dw_mmc-pltfm.h mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
dw_mmc.c mmc: dw_mmc: let device core setup the default pin configuration 2013-04-12 14:18:56 -04:00
dw_mmc.h mmc: dw_mmc: let device core setup the default pin configuration 2013-04-12 14:18:56 -04:00
jz4740_mmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
Kconfig mmc: sdhci-sirf: add mmc host sdhci-pltfm based driver for SiRF SoCs 2013-03-22 13:29:46 -04:00
Makefile mmc: sdhci-sirf: add mmc host sdhci-pltfm based driver for SiRF SoCs 2013-03-22 13:29:46 -04:00
mmc_spi.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
mmci.c ARM: 7630/1: mmc: mmci: Fixup and cleanup code for DMA handling 2013-01-28 14:14:48 +00:00
mmci.h ARM: 7631/1: mmc: mmci: Add new VE MMCI variant 2013-01-28 14:11:53 +00:00
msm_sdcc.c ARM: msm: move platform_data definitions 2012-09-14 11:17:35 +02:00
msm_sdcc.h mmc: msm_sdcc: Use MCI_INT_MASK0 for PIO interrupts 2011-10-26 15:43:37 -04:00
mvsdio.c mmc: mvsdio: use dev_*() API instead of pr_*() API 2013-03-22 13:29:47 -04:00
mvsdio.h mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
mxcmmc.c mmc: mxcmmc: fix race conditions for host->req and host->data access 2013-04-12 15:13:13 -04:00
mxs-mmc.c mmc: mxs-mmc: add broken-cd property 2013-04-12 14:17:55 -04:00
of_mmc_spi.c mmc: mmc_spi: Fix return value evaluation of irq_of_parse_and_map() 2013-02-24 14:37:10 -05:00
omap_hsmmc.c mmc: omap_hsmmc: support deferred probing for GPIOs 2013-03-22 11:51:49 -04:00
omap.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
pxamci.c mmc: remove use of __devinit 2012-11-28 12:28:18 -08:00
pxamci.h
rtsx_pci_sdmmc.c mmc: rtsx_pci_sdmmc: Don't execute power up sequence repeatedly 2013-03-22 12:35:42 -04:00
s3cmci.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
s3cmci.h s3cmci: DMA fixes 2009-10-01 16:11:15 -07:00
sdhci-acpi.c mmc: core: fix performance regression initializing MMC host controllers 2013-04-12 14:08:07 -04:00
sdhci-bcm2835.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-cns3xxx.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-dove.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-esdhc-imx.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-esdhc.h mmc: sdhci-esdhc: break out early if clock is 0 2012-09-04 13:58:06 -04:00
sdhci-of-esdhc.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-of-hlwd.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pci-data.c mmc: sdhci-pci: add platform data 2012-01-11 23:58:47 -05:00
sdhci-pci.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pltfm.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pltfm.h mmc: sdhci-pltfm: Constify the ops field of sdhci_pltfm_data struct 2013-03-22 13:00:29 -04:00
sdhci-pxav2.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pxav3.c mmc: sdhci-pxav3: controller should use SDCLK for timeout calculation 2013-04-04 09:59:42 -04:00
sdhci-s3c.c mmc: sdhci-s3c: let device core setup the default pin configuration 2013-03-22 12:33:21 -04:00
sdhci-sirf.c mmc: sdhci-sirf: add mmc host sdhci-pltfm based driver for SiRF SoCs 2013-03-22 13:29:46 -04:00
sdhci-spear.c mmc: sdhci-spear: add CONFIG_PM_SLEEP to suspend/resume functions 2013-04-04 10:13:58 -04:00
sdhci-tegra.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci.c mmc: sdhci: Don't ignore regulator_enable() return value 2013-03-22 12:40:05 -04:00
sdhci.h mmc: sdhci: enhance preset value function 2013-02-24 14:37:11 -05:00
sdricoh_cs.c mmc: Add module.h to drivers/mmc users assuming implicit presence. 2011-10-26 16:32:19 -04:00
sh_mmcif.c mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings 2013-02-24 14:37:21 -05:00
sh_mobile_sdhi.c mmc: sh_mobile_sdhi: use managed resource allocations 2013-02-24 14:37:23 -05:00
tifm_sd.c Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
tmio_mmc_dma.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-03-29 15:34:57 -07:00
tmio_mmc_pio.c mmc: tmio: add support for the VccQ regulator 2013-02-24 14:37:24 -05:00
tmio_mmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
tmio_mmc.h mmc: tmio_mmc: remove unused sdio_irq_enabled flag 2012-03-27 12:20:17 -04:00
ushc.c USB: convert some miscellanies drivers to use module_usb_driver() 2011-11-18 09:52:10 -08:00
via-sdmmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
vub300.c mmc: vub300: add missing usb_put_dev 2012-12-06 13:55:03 -05:00
wbsd.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: Use resource_size() 2013-03-22 12:38:46 -04:00