> If you don't hold lock_flocks throughout fcntl_setlease, the flp variable > points to a flock that may get modified by another thread and you call > time_out_leases() without holding lock_flocks, which it requires. > > The two alternatives I can see are to either use GFP_ATOMIC or to > take the lock inside of generic_setlease and drop it outside. > Neither of the two sounds particularly appealing. Do locks_alloc_lock and initialization of the heap struct file_lock in the caller. This also avoids an entirely useless copy of the lock structure. free the passed in structure if we are modifying an existing lock structure. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html