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

From: Davidlohr Bueso
Date: Wed May 31 2017 - 11:40:28 EST


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