> From: Leon Romanovsky [mailto:leon@xxxxxxxxxx] > Sent: Wednesday, June 28, 2017 1:11 PM > To: Amrani, Ram <Ram.Amrani@xxxxxxxxxx> > Cc: dledford@xxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; Elior, Ariel > <Ariel.Elior@xxxxxxxxxx> > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html