IB/core: Reduce the places that use zgid
Instead of open coding memcmp() to check whether a given GID is zero or not, use a helper function to do so, and replace instances of memcpy(z,&zgid) with memset. Signed-off-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
このコミットが含まれているのは:
@@ -276,7 +276,7 @@ static int mlx4_ib_add_gid(const union ib_gid *gid,
|
||||
found = i;
|
||||
break;
|
||||
}
|
||||
if (free < 0 && !memcmp(&port_gid_table->gids[i].gid, &zgid, sizeof(*gid)))
|
||||
if (free < 0 && rdma_is_zero_gid(&port_gid_table->gids[i].gid))
|
||||
free = i; /* HW has space */
|
||||
}
|
||||
|
||||
@@ -345,7 +345,8 @@ static int mlx4_ib_del_gid(const struct ib_gid_attr *attr, void **context)
|
||||
if (!ctx->refcount) {
|
||||
unsigned int real_index = ctx->real_index;
|
||||
|
||||
memcpy(&port_gid_table->gids[real_index].gid, &zgid, sizeof(zgid));
|
||||
memset(&port_gid_table->gids[real_index].gid, 0,
|
||||
sizeof(port_gid_table->gids[real_index].gid));
|
||||
kfree(port_gid_table->gids[real_index].ctx);
|
||||
port_gid_table->gids[real_index].ctx = NULL;
|
||||
hw_update = 1;
|
||||
|
@@ -3078,7 +3078,7 @@ static int fill_gid_by_hw_index(struct mlx4_ib_dev *ibdev, u8 port_num,
|
||||
memcpy(gid, &port_gid_table->gids[index].gid, sizeof(*gid));
|
||||
*gid_type = port_gid_table->gids[index].gid_type;
|
||||
spin_unlock_irqrestore(&iboe->lock, flags);
|
||||
if (!memcmp(gid, &zgid, sizeof(*gid)))
|
||||
if (rdma_is_zero_gid(gid))
|
||||
return -ENOENT;
|
||||
|
||||
return 0;
|
||||
|
新しいイシューから参照
ユーザーをブロックする