double call identical release when there is a race hitting

From: zhong jiang
Date: Tue Jun 06 2017 - 09:40:11 EST


Hi

when I review the code, I find the following scenario will lead to a race ,
but I am not sure whether the real issue will hit or not.

cpu1 cpu2
exit_mmap mmu_notifier_unregister
__mmu_notifier_release srcu_read_lock
srcu_read_lock
mm->ops->release(mn, mm) mm->ops->release(mn,mm)
srcu_read_unlock srcu_read_unlock


obviously, the specified mm will call identical release function when
the related condition satisfy. is it right?

Thanks
zhongjiang