]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: fix memory leak in bzcopy
authorAmir Vadai <amirv@mellanox.co.il>
Sun, 16 Aug 2009 13:07:28 +0000 (16:07 +0300)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:36 +0000 (05:04 -0700)
Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp_main.c

index 0acf0298c203ca5aed4ca3f1c7e07333af083aac..577d5693a753cee197944521865d28b4dd63143c 100644 (file)
@@ -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,