On Mon, Jan 26, 2026 at 05:06:40PM -0400, Jason Gunthorpe wrote:
On Wed, Jan 21, 2026 at 05:24:22PM -0800, Nicolin Chen wrote:
quoted
@@ -3220,6 +3241,9 @@ arm_smmu_master_build_inv(struct arm_smmu_master *master,
break;
}
+ /* Set a default users counter */
+ refcount_set(&cur->users, 1);
I think abusing users here is a little too hard to read..
Can we just keep track in the state somehow with a flag?
Or maybe union in a "bool needs_free" that is for the on-stack version
of this structure?
This doesn't only apply to the case when a tag is newly allocated
during the attach, but it can be used when an old tag has users=0
during a detach, right?
Hmm, perhaps I should have just followed your suggestion, letting
arm_smmu_invs_unref() set the users at all:
https://lore.kernel.org/all/20251219170551.GF254720@nvidia.com/ (local)
FWIW, I am hoping to squash this into the base series (v10), so we
wouldn't add a free_fn function pointer in the base series and then
remove it in this followup series.
Nicolin