Re: [PATCH rc v3 1/4] iommu/arm-smmu-v3: Add ignored bits to fix STE update sequence

From: Jason Gunthorpe
Date: Tue Dec 16 2025 - 19:24:09 EST


On Tue, Dec 16, 2025 at 10:58:33PM +0000, Mostafa Saleh wrote:
> for (i = 0; i != NUM_ENTRY_QWORDS; i++) {
> - /*
> - * Ignored is only used for bits that are used by both entries,
> - * otherwise it is sequenced according to the unused entry.
> - */
> - ignored[i] &= target_used[i] & cur_used[i];
> -

It is not functionally the same thing without this..

> And we only clear the bits from cur_used, there is no need to for the
> other mask ignored (ignored[i] &= target_used[i] & cur_used[i])
> - If an ignored bit is not in cur_used it will not impact
> "cur_used[i] &= ~ignored[i]" as it must be already zero
> - If an ignored bit is not in target_used, it doesn't really matter,
> we can ignore it anyway, as it is safe to do so.

That was an earlier version, it was switched away to this so as to be
less of a change though the reasoning is sound.

Jason