On Sun, Nov 25, 2018 at 08:51:11PM +0200, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > Changelog: > v1->v2: > * Dropped C99 patch and updated "RDMA/uverbs: Add missing driver_data" > patch to have [0] in array declaration and not []. > v0->v1: > * Updated two patches to fix compatibility issue new kernel vs. rdma-core 18 and 19 > Destroy CQ command from rdma-core sent wrong command size. > > It is based on previous patch set: > https://patchwork.kernel.org/project/linux-rdma/list/?series=41949 > > >From Jason, > > This consolidates the driver udata creation into the handler dispatching > code for write, write_ex and ioctl. This makes all of the handlers have > a consistent experience when accessing the driver's udata. It is always > located in an uverbs_attr_bundle, and always set before the first > handler is invoked. > > Reworking like this allows the dispatcher to control the memory layout > of the udata and removes the built-in assumption that the udata directly > follows the command data on the write path. > > This is the next step toward making the write, write_ex, and ioctl > interfaces use a uniform handler calling convention. > > This is also the first step toward passing the 'struct uverbs_attr_bundle' > into the drivers, instead of using the more limited 'struct ib_udata'. > At this point all the driver callbacks could recover the attr_bundle > by using container_of on the udata pointer. > > Thanks > > Jason Gunthorpe (9): > RDMA/uverbs: Add missing driver_data > RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write > RDMA/uverbs: Make write() handlers return 0 on success > RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods > RDMA/uverbs: Add structure size info to write commands > RDMA/uverbs: Prohibit write() calls with too small buffers > RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex > RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write > RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl() Applied to for-next Jason