On Wed, Feb 03, 2021 at 07:46:48AM -0800, Dave Hansen wrote: > On 1/30/21 11:20 AM, Jarkko Sakkinen wrote: > ... > > Example scenario would such that all removals "side-channel" through > > the notifier callback. Then mmu_notifier_unregister() gets called > > exactly zero times. No MMU notifier srcu sync would be then happening. > > > > NOTE: There's bunch of other examples, I'm just giving one. > > Could you flesh this out a bit? I don't quite understand the scenario > from what you describe above. > > In any case, I'm open to other implementations that fix the race we know > about. If you think you have a better fix, I'm happy to review it and > make sure it closes the other race. I'll bake up a new patch. Generally speaking, I think why this has been so difficult, is because of a chicken-egg-problem. The whole issue should be sorted when a new entry is first added to the mm_list, i.e. increase the refcount for each added entry. /Jarkko