]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
SDP: A better fix of a potential memory leak in the new bzcopy code.
authorDotan Barak <dotanb@dev.mellanox.co.il>
Wed, 21 Nov 2007 07:08:25 +0000 (09:08 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:12 +0000 (05:04 -0700)
Signed-off-by: Dotan Barak <dotanb@dev.mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp_main.c

index 809f7b8aaf8a394720eb8116f2393d371274e8f2..583187c927a7f03282aa08d2b49f58f898135fbd 100644 (file)
@@ -1240,10 +1240,6 @@ static struct bzcopy_state *sdp_bz_setup(struct sdp_sock *ssk,
        if (!can_do_mlock())
                return NULL;
 
-       bz = kzalloc(sizeof(*bz), GFP_KERNEL);
-       if (!bz)
-               return NULL;
-
        /*
         *   Since we use the TCP segmentation fields of the skb to map user
         * pages, we must make sure that everything we send in a single chunk
@@ -1253,6 +1249,10 @@ static struct bzcopy_state *sdp_bz_setup(struct sdp_sock *ssk,
        if (size_goal >= MAX_SKB_FRAGS)
                return NULL;
 
+       bz = kzalloc(sizeof(*bz), GFP_KERNEL);
+       if (!bz)
+               return NULL;
+
        addr = (unsigned long)base;
 
        bz->u_base     = base;