]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mlx4_core: Check return status of rdma_resolve_ip
authorShani Michaelli <shanim@mellanox.com>
Sun, 9 Mar 2014 16:36:50 +0000 (18:36 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 21:45:18 +0000 (14:45 -0700)
Fix usage of rdma_resolve_ip() when return status was
not checked for success.

Signed-off-by: Shani Michaeli <shanim@mellanox.com>
(Ported from Mellanox OFED 2.4)

Signed-off-by: Mukesh Kacker <mukesh.kacker@oracle.com>
drivers/infiniband/core/addr.c

index 38339d220d7f52c402c08f581f20cf4ad8acea49..2f86a5aea16cc631b7afc2794b6d99b85d062da8 100644 (file)
@@ -452,8 +452,13 @@ struct resolve_cb_context {
 static void resolve_cb(int status, struct sockaddr *src_addr,
             struct rdma_dev_addr *addr, void *context)
 {
-       memcpy(((struct resolve_cb_context *)context)->addr, addr, sizeof(struct
-                               rdma_dev_addr));
+       if (!status)
+               memcpy(((struct resolve_cb_context *)context)->addr, addr,
+                      sizeof(struct rdma_dev_addr));
+       else
+               memset(
+               ((struct resolve_cb_context *)context)->addr->dst_dev_addr,
+                               0, sizeof(unsigned char) * MAX_ADDR_LEN);
        complete(&((struct resolve_cb_context *)context)->comp);
 }