> mutex_lock(&hmm->lock); > - list_del(&range->list); > + list_del_init(&range->list); > mutex_unlock(&hmm->lock); I don't see the point why this is a list_del_init - that just reinitializeѕ range->list, but doesn't change anything for the list head it was removed from. (and if the list_del_init was intended a later patch in your branch reverts it to plain list_del..)