aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/numa.c
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo+renesas@jmondi.org>2018-04-18 11:42:35 +0200
committerRich Felker <dalias@libc.org>2018-05-05 16:51:46 -0400
commitb9826a4929bbd4dcb245429fd7434145c4fcdc9b (patch)
tree8749be4653afdecc99b127e272e27118e553157e /arch/sh/mm/numa.c
parentsh: fix build failure for J2 cpu with SMP disabled (diff)
downloadlinux-dev-b9826a4929bbd4dcb245429fd7434145c4fcdc9b.tar.xz
linux-dev-b9826a4929bbd4dcb245429fd7434145c4fcdc9b.zip
sh: mm: Fix unprotected access to struct device
With commit ce88313069c36eef80f21fd7 ("arch/sh: make the DMA mapping operations observe dev->dma_pfn_offset") the generic DMA allocation function on which the SH 'dma_alloc_coherent()' function relies on, accesses the 'dma_pfn_offset' field of struct device. Unfortunately the 'dma_generic_alloc_coherent()' function is called from several places with a NULL struct device argument, halting the CPU during the boot process. This patch fixes the issue by protecting access to dev->dma_pfn_offset, with a trivial check for validity. It also passes a valid 'struct device' in the 'platform_resource_setup_memory()' function which is the main user of 'dma_alloc_coherent()', and inserts a WARN_ON() check to remind to future (and existing) bogus users of this function to provide a valid 'struct device' whenever possible. Fixes: ce88313069c36eef80f21fd7 ("arch/sh: make the DMA mapping operations observe dev->dma_pfn_offset") Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Rich Felker <dalias@libc.org>
Diffstat (limited to 'arch/sh/mm/numa.c')
0 files changed, 0 insertions, 0 deletions