[PATCH] ARM: dma-mapping: don't allow DMA mappings to be marked executable

Catalin Marinas catalin.marinas at arm.com
Thu Oct 24 05:04:23 EDT 2013


Hi Russell,

On Thu, 2013-10-24 at 08:05 +0100, Russell King - ARM Linux wrote:
> --- a/arch/arm/mm/dma-mapping.c
> +++ b/arch/arm/mm/dma-mapping.c
> @@ -688,7 +688,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
>  void *arm_dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
>  		    gfp_t gfp, struct dma_attrs *attrs)
>  {
> -	pgprot_t prot = __get_dma_pgprot(attrs, pgprot_kernel);
> +	pgprot_t prot = __get_dma_pgprot(attrs, PAGE_KERNEL);

I think we lose the shareability attribute we add to pgprot_kernel when
SMP. So this creates a mismatched aliases and could have implications on
the barrier use (though I think we use the full system DSB in most cases
related to DMA). But architecturally I would feel better if we have the
same shareability domain.

-- 
Catalin




More information about the linux-arm-kernel mailing list