Re: [RFC v2 01/10] mm: Deactivate mmap_sem assert

Davidlohr Bueso
2017-05-31T15:40:25Z

Hi Laurent!

On Wed, 24 May 2017, Laurent Dufour wrote:

>When mmap_sem will be moved to a range lock, some assertion done in
>the code will have to be reviewed to work with the range locking as
>well.
>
>This patch disables these assertions for the moment but it has be
>reviewed later once the range locking API will provide the dedicated
>services.

Lets not do this; we should _at least_ provide the current checks
we already have. The following should be a (slower) equivalent once
we have the interval_tree_iter_first() optimization sorted out.

int range_is_locked(struct range_lock_tree *tree, struct range_lock *lock)
{
unsigned long flags;
struct interval_tree_node *node;

spin_lock_irqsave(&tree->lock, flags);
node = interval_tree_iter_first(&tree->root, lock->node.start,
lock->node.last);
spin_unlock_irqrestore(&tree->lock, flags);

return node != NULL;
}
EXPORT_SYMBOL_GPL(range_is_locked);

Thanks,
Davidlohr