Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1545012
| From | Will Deacon <will.deacon@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] iommu/arm-smmu-v3: prevent corruption of ste stage-1 context ptr |
| Date | 2016-12-20 11:00 +0100 |
| Message-ID | <sQpnb-3Uc-13@gated-at.bofh.it> (permalink) |
| References | <sQd2G-4h6-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi Nate, Thanks for the patch. On Mon, Dec 19, 2016 at 03:38:38PM -0500, Nate Watterson wrote: > To ensure that the stage-1 context ptr for an ste points to the > intended context descriptor, this patch adds code to clear away > the stale context ptr value prior to or'ing in the new one. > > Signed-off-by: Nate Watterson <nwatters@codeaurora.org> > --- > drivers/iommu/arm-smmu-v3.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c > index 4d6ec44..093f9f1 100644 > --- a/drivers/iommu/arm-smmu-v3.c > +++ b/drivers/iommu/arm-smmu-v3.c > @@ -1080,6 +1080,8 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_device *smmu, u32 sid, > if (smmu->features & ARM_SMMU_FEAT_STALLS) > dst[1] |= cpu_to_le64(STRTAB_STE_1_S1STALLD); > > + val &= ~(STRTAB_STE_0_S1CTXPTR_MASK << > + STRTAB_STE_0_S1CTXPTR_SHIFT); > val |= (ste->s1_cfg->cdptr_dma & STRTAB_STE_0_S1CTXPTR_MASK > << STRTAB_STE_0_S1CTXPTR_SHIFT) | > STRTAB_STE_0_CFG_S1_TRANS; Good catch. We only clear the Config field at present, although I think it would be better if we just did val = 0 instead of clearing the Config field, and then just recreate all of the S1-related fields (ctxptr, fmt, cdmax) if we're installing a stage-1 STE. The other STE fields aren't treated as read-modify-write, so it's more consistent not to treat the initial dword specially other than for determining ste_live. What do you think? Will
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH] iommu/arm-smmu-v3: prevent corruption of ste stage-1 context ptr Nate Watterson <nwatters@codeaurora.org> - 2016-12-19 21:50 +0100
Re: [PATCH] iommu/arm-smmu-v3: prevent corruption of ste stage-1 context ptr Will Deacon <will.deacon@arm.com> - 2016-12-20 11:00 +0100
[PATCH] iommu/arm-smmu-v3: Clear prior settings when updating STEs Nate Watterson <nwatters@codeaurora.org> - 2016-12-21 05:20 +0100
csiph-web