RE: [PATCH rdma v1 1/1] IB/core: Fix input len in multiple user verbs

Elior, Ariel
2017-06-28T10:23:06Z

> From: Leon Romanovsky [mailto:leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org]
> Sent: Wednesday, June 28, 2017 1:11 PM
> To: Amrani, Ram <Ram.Amrani-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
> Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org; linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; Elior, Ariel
> <Ariel.Elior-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
> Subject: Re: [PATCH rdma v1 1/1] IB/core: Fix input len in multiple user verbs
>
> On Wed, Jun 28, 2017 at 10:02:45AM +0000, Amrani, Ram wrote:
> > > > Most user verbs pass user data to the kernel with the inclusion of the
> > > > ib_uverbs_cmd_hdr structure. This is problematic because the vendor has
> > > > no ideas if the verb was called by a legacy verb or an extended verb.
> > >
> > > Why vendor should know about it? It has midlayer (ib/core) between him
> > > and user to handle it.
> > >
> >
> > Knowing the inlen can be used to determine if the library is newer than
> > the kernel and what features it supports or not.
>
> It is not interesting case, because we are not breaking UAPI, only
> extending. It ensures that kernel will fill as much as possible and will
> always have success in it. After that it is library responsibility to
> understand if everything was filled.
>
> Thanks

In our case, kernel driver needs to know whether library supports a certain
feature (doorbell overflow recovery). It doesn't care if it was an extended
verb or not, but it cares whether the lib is sufficiently new to have provided
the required information. If the library is sufficiently new (supports) then
kernel will register the library's doorbell address with the overflow recovery
mechanism, and perform recovery if required, otherwise it would not (as the
library is not supplying the necessary information for recovery to take place).
This is not something the library needs to know, but the kernel driver. Having
correct input len is required for successfully avoiding breaking the UAPI.

Ariel