Hi there.

Please direct me to the right place for posting patches
and contacting developers, in case this is not it.

A few days ago I started to try using SDP as DRBD replication transport.
(http://www.drbd.org for those of you that do not know us yet)

As block traffic naturally is mostly large messages (several pages),
I noticed pretty quickly a large memory leak in SDP.

I think I can pin it down on sdp_bz_cleanup not doing the put_page().

patch against current ofed 1.5,
also applies to the 1.4 branch.

All the best,

        Lars

from git://git.openfabrics.org/ofed_1_5/linux-2.6.git

diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c 
b/drivers/infiniband/ulp/sdp/sdp_main.c
index 8e1a6d7..1740408 100644
--- a/drivers/infiniband/ulp/sdp/sdp_main.c
+++ b/drivers/infiniband/ulp/sdp/sdp_main.c
@@ -1368,7 +1368,8 @@ static inline struct bzcopy_state *sdp_bz_cleanup(struct 
bzcopy_state *bz)
        }
 
        if (bz->pages) {
-               for (i = bz->cur_page; i < bz->page_cnt; i++)
+               /* match get_page() calls in sdp_bz_setup() */
+               for (i = 0; i < bz->page_cnt; i++)
                        put_page(bz->pages[i]);
 
                kfree(bz->pages);



-- 
: Lars Ellenberg
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to