Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
[sfrench/cifs-2.6.git] / drivers / infiniband / hw / i40iw / i40iw_cm.c
index 700a5d06b60cab92052001035582440c3a4ff5c4..2d6a378e85609fe0f51f94cb16695b3cba5332b3 100644 (file)
@@ -4279,11 +4279,11 @@ static void i40iw_qhash_ctrl(struct i40iw_device *iwdev,
        /* if not found then add a child listener if interface is going up */
        if (!ifup)
                return;
        /* if not found then add a child listener if interface is going up */
        if (!ifup)
                return;
-       child_listen_node = kzalloc(sizeof(*child_listen_node), GFP_ATOMIC);
+       child_listen_node = kmemdup(parent_listen_node,
+                       sizeof(*child_listen_node), GFP_ATOMIC);
        if (!child_listen_node)
                return;
        node_allocated = true;
        if (!child_listen_node)
                return;
        node_allocated = true;
-       memcpy(child_listen_node, parent_listen_node, sizeof(*child_listen_node));
 
        memcpy(child_listen_node->loc_addr, ipaddr,  ipv4 ? 4 : 16);
 
 
        memcpy(child_listen_node->loc_addr, ipaddr,  ipv4 ? 4 : 16);