]> git.baikalelectronics.ru Git - kernel.git/commit
RDSRDMA: Fix cleanup of rds_iw_mr_pool
authorJonathan Lallinger <jonathan@ogc.us>
Thu, 29 Sep 2011 07:58:41 +0000 (07:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Sep 2011 18:57:19 +0000 (14:57 -0400)
commit740917a20e80b8a15188a4a58b0fb9d8e2aa8045
tree1ceadcb10339e74551d6cb2ff6a09fcc83433655
parent6dfda96ebbb6d223841039ce13ab9515a9f40406
RDSRDMA: Fix cleanup of rds_iw_mr_pool

In the rds_iw_mr_pool struct the free_pinned field keeps track of
memory pinned by free MRs. While this field is incremented properly
upon allocation, it is never decremented upon unmapping. This would
cause the rds_rdma module to crash the kernel upon unloading, by
triggering the BUG_ON in the rds_iw_destroy_mr_pool function.

This change keeps track of the MRs that become unpinned, so that
free_pinned can be decremented appropriately.

Signed-off-by: Jonathan Lallinger <jonathan@ogc.us>
Signed-off-by: Steve Wise <swise@ogc.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/iw_rdma.c