Go to file
Pradeep P V K eeaba2b45e mmc: sdhci: Check for reset prior to DMA address unmap
commit 21e35e898aa9ef7781632959db8613a5380f2eae upstream.

For data read commands, SDHC may initiate data transfers even before it
completely process the command response. In case command itself fails,
driver un-maps the memory associated with data transfer but this memory
can still be accessed by SDHC for the already initiated data transfer.
This scenario can lead to un-mapped memory access error.

To avoid this scenario, reset SDHC (when command fails) prior to
un-mapping memory. Resetting SDHC ensures that all in-flight data
transfers are either aborted or completed. So we don't run into this
scenario.

Swap the reset, un-map steps sequence in sdhci_request_done().

Suggested-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Signed-off-by: Pradeep P V K <pragalla@codeaurora.org>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/1614760331-43499-1-git-send-email-pragalla@qti.qualcomm.com
Cc: stable@vger.kernel.org # v4.9+
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-05-20 16:07:20 +08:00
Documentation dt-bindings: net: ethernet-controller: fix typo in NVMEM 2021-05-20 16:07:03 +08:00
LICENSES Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
arch arm64: dts: mt8173: fix property typo of 'phys' in dsi node 2021-05-20 16:07:19 +08:00
block block: only update parent bi_status when bio fail 2021-05-20 16:07:05 +08:00
certs certs: Fix blacklist flag type confusion 2021-04-12 12:52:25 +08:00
crypto crypto: x86 - Regularize glue function prototypes 2021-04-12 12:53:14 +08:00
drivers mmc: sdhci: Check for reset prior to DMA address unmap 2021-05-20 16:07:20 +08:00
fs erofs: add unsupported inode i_format check 2021-05-20 16:07:20 +08:00
include bpf: Fix leakage of uninitialized bpf stack under speculation 2021-05-20 16:07:17 +08:00
init init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM 2021-05-20 16:06:54 +08:00
ipc ipc/util.c: sysvipc_find_ipc() incorrectly updates position index 2021-03-16 16:27:51 +08:00
kernel ftrace: Handle commands when closing set_ftrace_filter file 2021-05-20 16:07:19 +08:00
lib avoid __memcat_p link failure 2021-05-20 16:07:18 +08:00
mm mm: fix race by making init_zero_pfn() early_initcall 2021-05-20 16:06:49 +08:00
net gro: ensure frag0 meets IP header alignment 2021-05-20 16:07:13 +08:00
package net: open CONFIG_XFRM_OFFLOAD for x86 public 2021-05-18 07:22:15 +00:00
samples samples, bpf: Add missing munmap in xdpsock 2021-04-12 12:52:57 +08:00
scripts ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount 2021-04-12 12:52:52 +08:00
security integrity: double check iint_cache was initialized 2021-04-12 12:53:26 +08:00
sound ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX 2021-05-20 16:07:18 +08:00
tools perf ftrace: Fix access to pid in array when setting a pid filter 2021-05-20 16:07:18 +08:00
usr Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
virt KVM: arm64: Ensure I-cache isolation between vcpus of a same VM 2021-04-12 12:53:12 +08:00
.clang-format Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.cocciconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.get_maintainer.ignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.gitattributes Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
.gitignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
COPYING Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
CREDITS Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kbuild Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
MAINTAINERS Documentation/llvm: add documentation on building w/ Clang/LLVM 2021-03-16 16:34:24 +08:00
Makefile Rebase to linux long term 5.4.109 2021-04-12 12:53:32 +08:00
README Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
README.md Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
backport_remove_lists.txt Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
tools_key.pub Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00

README.md

Tencent Linux Kernel 4.0