linux/net/rds
Jonathan Lallinger 85a6488949 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>
2011-09-29 14:57:19 -04:00
..
Kconfig RDS: Modularize RDMA and TCP transports 2009-08-23 19:13:09 -07:00
Makefile Net: rds: Makefile: Remove deprecated items 2010-11-22 08:16:15 -08:00
af_rds.c RDS/IB: print string constants in more places 2010-09-08 18:16:50 -07:00
bind.c net/rds: use prink_ratelimited() instead of printk_ratelimit() 2011-06-17 00:03:03 -04:00
cong.c rds: use little-endian bitops 2011-03-23 19:46:16 -07:00
connection.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
ib.c RDMA/cma: Pass QP type into rdma_create_id() 2011-05-25 13:46:23 -07:00
ib.h net: remove interrupt.h inclusion from netdevice.h 2011-06-06 22:55:11 -07:00
ib_cm.c net/rds: use prink_ratelimited() instead of printk_ratelimit() 2011-06-17 00:03:03 -04:00
ib_rdma.c rds/ib: use system_wq instead of rds_ib_fmr_wq 2011-02-01 11:42:43 +01:00
ib_recv.c RDS/IB: print string constants in more places 2010-09-08 18:16:50 -07:00
ib_ring.c RDS/IW+IB: Set recv ring low water mark to 1/2 full. 2009-04-09 17:21:14 -07:00
ib_send.c net/rds: use prink_ratelimited() instead of printk_ratelimit() 2011-06-17 00:03:03 -04:00
ib_stats.c RDS: Move atomic stats from general to ib-specific area 2010-09-08 18:12:20 -07:00
ib_sysctl.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
info.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
info.h RDS: Info and stats 2009-02-26 23:39:25 -08:00
iw.c RDMA/cma: Pass QP type into rdma_create_id() 2011-05-25 13:46:23 -07:00
iw.h net: remove interrupt.h inclusion from netdevice.h 2011-06-06 22:55:11 -07:00
iw_cm.c net/rds: use prink_ratelimited() instead of printk_ratelimit() 2011-06-17 00:03:03 -04:00
iw_rdma.c RDSRDMA: Fix cleanup of rds_iw_mr_pool 2011-09-29 14:57:19 -04:00
iw_recv.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
iw_ring.c RDS/IW+IB: Set recv ring low water mark to 1/2 full. 2009-04-09 17:21:14 -07:00
iw_send.c net/rds: use prink_ratelimited() instead of printk_ratelimit() 2011-06-17 00:03:03 -04:00
iw_stats.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-09-15 09:39:44 -07:00
iw_sysctl.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
loop.c rds: prevent BUG_ON triggering on congestion map updates 2011-03-08 11:22:43 -08:00
loop.h RDS: loopback 2009-02-26 23:39:26 -08:00
message.c rds: Fix rds message leak in rds_message_map_pages 2010-11-08 12:17:09 -08:00
page.c notifiers: cpu: move cpu notifiers into cpu.h 2011-07-25 20:57:14 -07:00
rdma.c rds: Integer overflow in RDS cmsg handling 2010-11-17 12:20:52 -08:00
rdma_transport.c RDMA/cma: Pass QP type into rdma_create_id() 2011-05-25 13:46:23 -07:00
rdma_transport.h rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
rds.h net: cleanup unused macros in net directory 2011-01-19 23:20:04 -08:00
recv.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
send.c net/rds: use prink_ratelimited() instead of printk_ratelimit() 2011-06-17 00:03:03 -04:00
stats.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
sysctl.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
tcp.c rds: Remove kfreed tcp conn from list 2010-11-03 18:50:07 -07:00
tcp.h rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
tcp_connect.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-27 01:03:03 -07:00
tcp_listen.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-09-27 01:03:03 -07:00
tcp_recv.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
tcp_send.c rds: make local functions/variables static 2010-10-21 04:26:39 -07:00
tcp_stats.c net: rds: fix const array syntax 2011-07-01 16:16:19 -07:00
threads.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
transport.c RDS: have sockets get transport module references 2010-09-08 18:16:47 -07:00
xlist.h RDS: Remove unused XLIST_PTR_TAIL and xlist_protect() 2010-09-08 18:16:06 -07:00