On Thu, Dec 09, 2021 at 03:16:05PM +0200, Leon Romanovsky wrote: > From: Avihai Horon <avihaih@xxxxxxxxxx> > > Modify rdma_query_gid() to return -ENOENT for empty entries. This will > make error reporting more accurate and will be used in next patches. > > Signed-off-by: Avihai Horon <avihaih@xxxxxxxxxx> > Reviewed-by: Mark Zhang <markzhang@xxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx> > --- > drivers/infiniband/core/cache.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c > index 0c98dd3dee67..edddcca62ece 100644 > --- a/drivers/infiniband/core/cache.c > +++ b/drivers/infiniband/core/cache.c > @@ -955,7 +955,7 @@ int rdma_query_gid(struct ib_device *device, u32 port_num, > { > struct ib_gid_table *table; > unsigned long flags; > - int res = -EINVAL; > + int res; > > if (!rdma_is_port_valid(device, port_num)) > return -EINVAL; > @@ -963,9 +963,15 @@ int rdma_query_gid(struct ib_device *device, u32 port_num, > table = rdma_gid_table(device, port_num); > read_lock_irqsave(&table->rwlock, flags); > > - if (index < 0 || index >= table->sz || > - !is_gid_entry_valid(table->data_vec[index])) > + if (index < 0 || index >= table->sz) { > + res = -EINVAL Jason, I made stupid mistake here, and missed ";". Can you fix it locally? Thanks > goto done; > + } > + > + if (!is_gid_entry_valid(table->data_vec[index])) { > + res = -ENOENT; > + goto done; > + } > > memcpy(gid, &table->data_vec[index]->attr.gid, sizeof(*gid)); > res = 0; > -- > 2.33.1 >