On 2/12/2018 1:33 PM, Jean-Philippe Brucker wrote: > +static void io_mm_free(struct io_mm *io_mm) > +{ > + struct mm_struct *mm; > + void (*release)(struct io_mm *); > + > + release = io_mm->release; > + mm = io_mm->mm; > + > + release(io_mm); Is there any reason why you can't call iommu->release() here directly? Why do you need the release local variable? > + mmdrop(mm); > +} > + -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.