On Wed, Jul 27, 2016 at 04:42:07PM -0700, Mitchel Humpherys wrote: > The PL330 performs privileged instruction fetches. This can result in > SMMU permission faults on SMMUs that implement the ARMv8 VMSA, which
Lot of acronyms with no explanation whatsoever > specifies that mappings that are writeable at one execution level shall > not be executable at any higher-privileged level. Fix this by using the > DMA_ATTR_PRIVILEGED attribute, which will ensure that the microcode > IOMMU mapping is only accessible to the privileged level. And I get satndalone patch with no context for the series! > > Cc: Dan Williams <dan.j.willi...@intel.com> > Cc: Vinod Koul <vinod.k...@intel.com> > Reviewed-by: Robin Murphy <robin.mur...@arm.com> > Tested-by: Robin Murphy <robin.mur...@arm.com> > Signed-off-by: Mitchel Humpherys <mitch...@codeaurora.org> > --- > > Notes: > v3..v4 > > - Reworked against the new dma attrs format. > > drivers/dma/pl330.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c > index 4fc3ffbd5ca0..8cd624fc3760 100644 > --- a/drivers/dma/pl330.c > +++ b/drivers/dma/pl330.c > @@ -1854,14 +1854,16 @@ static int dmac_alloc_resources(struct pl330_dmac > *pl330) > { > int chans = pl330->pcfg.num_chan; > int ret; > + unsigned long dma_attrs = DMA_ATTR_PRIVILEGED; > > /* > * Alloc MicroCode buffer for 'chans' Channel threads. > * A channel's buffer offset is (Channel_Id * MCODE_BUFF_PERCHAN) > */ > - pl330->mcode_cpu = dma_alloc_coherent(pl330->ddma.dev, > + pl330->mcode_cpu = dma_alloc_attrs(pl330->ddma.dev, > chans * pl330->mcbufsz, > - &pl330->mcode_bus, GFP_KERNEL); > + &pl330->mcode_bus, GFP_KERNEL, > + dma_attrs); > if (!pl330->mcode_cpu) { > dev_err(pl330->ddma.dev, "%s:%d Can't allocate memory!\n", > __func__, __LINE__); > -- > Qualcomm Innovation Center, Inc. > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > -- ~Vinod _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu