IB/core: Fix mismatch between locked and pinned pages

Commit bc3e53f682 ("mm: distinguish between mlocked and pinned
pages") introduced a separate counter for pinned pages and used it in
the IB stack.  However, in ib_umem_get() the pinned counter is
incremented, but ib_umem_release() wrongly decrements the locked
counter.  Fix this.

Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Reviewed-by: Christoph Lameter <cl@linux.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
Yishai Hadas 2012-05-10 23:28:05 +03:00 committed by Roland Dreier
parent c3bccbfbb7
commit c4870eb874

View File

@ -269,7 +269,7 @@ void ib_umem_release(struct ib_umem *umem)
} else } else
down_write(&mm->mmap_sem); down_write(&mm->mmap_sem);
current->mm->locked_vm -= diff; current->mm->pinned_vm -= diff;
up_write(&mm->mmap_sem); up_write(&mm->mmap_sem);
mmput(mm); mmput(mm);
kfree(umem); kfree(umem);