From 563b4dadb28a497d6216f1d0f879e549104051fc Mon Sep 17 00:00:00 2001 From: Shani Michaelli Date: Sun, 9 Mar 2014 18:36:50 +0200 Subject: [PATCH] mlx4_core: Check return status of rdma_resolve_ip Fix usage of rdma_resolve_ip() when return status was not checked for success. Signed-off-by: Shani Michaeli (Ported from Mellanox OFED 2.4) Signed-off-by: Mukesh Kacker --- drivers/infiniband/core/addr.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c index 38339d220d7f..2f86a5aea16c 100644 --- a/drivers/infiniband/core/addr.c +++ b/drivers/infiniband/core/addr.c @@ -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); } -- 2.50.1