Re: nfsd changes for 2.6.37

From: Christoph Hellwig
Date: Wed Oct 27 2010 - 04:39:39 EST


> 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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/