On Tue, Oct 15, 2019 at 03:12:29PM -0300, Jason Gunthorpe wrote: > +static void mn_itree_release(struct mmu_notifier_mm *mmn_mm, > + struct mm_struct *mm) > +{ > + struct mmu_notifier_range range = { > + .flags = MMU_NOTIFIER_RANGE_BLOCKABLE, > + .event = MMU_NOTIFY_RELEASE, > + .mm = mm, > + .start = 0, > + .end = ULONG_MAX, > + }; > + struct mmu_range_notifier *mrn; > + unsigned long cur_seq; > + bool ret; > + > + for (mrn = mn_itree_inv_start_range(mmn_mm, &range, &cur_seq); mrn; > + mrn = mn_itree_inv_next(mrn, &range)) { > + ret = mrn->ops->invalidate(mrn, &range); > + WARN_ON(ret); This should be WARN_ON(!ret) Jason