From: Amir Vadai Date: Sun, 16 Aug 2009 13:07:28 +0000 (+0300) Subject: sdp: fix memory leak in bzcopy X-Git-Tag: v4.1.12-92~264^2~5^2~255 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0b07abf42717da6d0dbb9aee902a6d057a0c3a40;p=users%2Fjedix%2Flinux-maple.git sdp: fix memory leak in bzcopy Signed-off-by: Amir Vadai --- diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index 0acf0298c203c..577d5693a753c 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -1382,7 +1382,7 @@ static inline struct bzcopy_state *sdp_bz_cleanup(struct bzcopy_state *bz) } if (bz->pages) { - for (i = 0; i < bz->cur_page; i++) { + for (i = 0; i < bz->page_cnt; i++) { put_page(bz->pages[i]); } @@ -1578,6 +1578,7 @@ static inline int sdp_bzcopy_get(struct sock *sk, struct sk_buff *skb, if (!sk_wmem_schedule(sk, copy)) return SDP_DO_WAIT_MEM; + /* put_page in skb_release_data() (called by __kfree_skb) */ get_page(bz->pages[bz->cur_page]); skb_fill_page_desc(skb, skb_shinfo(skb)->nr_frags, bz->pages[bz->cur_page], bz->cur_offset,