Re: New GID query API broke EFA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 22, 2020 at 03:15:55PM +0300, Gal Pressman wrote:
> On 22/10/2020 15:12, Gal Pressman wrote:
> > On 22/10/2020 15:10, Jason Gunthorpe wrote:
> >> On Thu, Oct 22, 2020 at 02:21:00PM +0300, Leon Romanovsky wrote:
> >>> On Thu, Oct 22, 2020 at 01:58:29PM +0300, Gal Pressman wrote:
> >>>> Hi all,
> >>>>
> >>>> The new IOCTL query GID API 9f85cbe50aa0 ("RDMA/uverbs: Expose the new GID query
> >>>> API to user space") currently breaks EFA, as ibv_query_gid() no longer works.
> >>>>
> >>>> The problem is that the IOCTL call checks for:
> >>>>     if (!rdma_ib_or_roce(ib_dev, port_num))
> >>>>             return -EOPNOTSUPP;
> >>>>
> >>>> EFA is neither of these, but it uses GIDs.
> >>>>
> >>>> Any objections to remove the check? Any other solutions come to mind?
> >>>
> >>> We added this check to protect access to rdma_get_gid_attr() for devices
> >>> without GID table.
> >>>  1234         table = rdma_gid_table(device, port_num);
> >>>  1235         if (index < 0 || index >= table->sz)
> >>>  1236                 return ERR_PTR(-EINVAL);
> >>>
> >>> So you can extend that function to return for table == NULL an error and
> >>> remove rdma_ib_or_roce()
> >>
> >> How does table == NULL ever?
> >
> > A driver with gid_tbl_len == 0 would make the allocation return NULL, no?
>
> Nevermind, we don't really allocate with gid_tbl_len as the size, and any
> allocation failure will fail ib_register_device().
> So I guess there is no way for it to be NULL.

I think so too.

Thanks



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux