From: Laura Abbott Date: Thu, 12 Dec 2013 19:28:32 +0000 (+0000) Subject: arm64: Warn on NULL device structure for dma APIs X-Git-Tag: v3.14-rc1~18^2~21 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c666e8d5cae745b1515898f8b7a033c468a899d0;p=platform%2Fkernel%2Flinux-exynos.git arm64: Warn on NULL device structure for dma APIs Although parts of the DMA apis may properly check for NULL devices, there may be some places that don't. Rather than fix up all the possible locations, just require a non-NULL device structure to be used for allocating/freeing. Cc: Will Deacon Cc: Marek Szyprowski Signed-off-by: Laura Abbott [catalin.marinas@arm.com: s/WARN/WARN_ONCE/] Signed-off-by: Catalin Marinas --- diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c index 4bd7579..83e6431 100644 --- a/arch/arm64/mm/dma-mapping.c +++ b/arch/arm64/mm/dma-mapping.c @@ -33,6 +33,11 @@ static void *arm64_swiotlb_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flags, struct dma_attrs *attrs) { + if (dev == NULL) { + WARN_ONCE(1, "Use an actual device structure for DMA allocation\n"); + return NULL; + } + if (IS_ENABLED(CONFIG_ZONE_DMA32) && dev->coherent_dma_mask <= DMA_BIT_MASK(32)) flags |= GFP_DMA32; @@ -43,6 +48,11 @@ static void arm64_swiotlb_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle, struct dma_attrs *attrs) { + if (dev == NULL) { + WARN_ONCE(1, "Use an actual device structure for DMA allocation\n"); + return; + } + swiotlb_free_coherent(dev, size, vaddr, dma_handle); }