RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl()
Have the core code initialize the driver_udata if the method has a udata description. This is done using the same create_udata the handler was supposed to call. This makes ioctl consistent with the write and write_ex paths. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
This commit is contained in:
@@ -79,6 +79,8 @@ struct uverbs_attr_spec {
|
||||
*/
|
||||
u8 alloc_and_copy:1;
|
||||
u8 mandatory:1;
|
||||
/* True if this is from UVERBS_ATTR_UHW */
|
||||
u8 is_udata:1;
|
||||
|
||||
union {
|
||||
struct {
|
||||
@@ -598,10 +600,12 @@ struct uapi_definition {
|
||||
#define UVERBS_ATTR_UHW() \
|
||||
UVERBS_ATTR_PTR_IN(UVERBS_ATTR_UHW_IN, \
|
||||
UVERBS_ATTR_MIN_SIZE(0), \
|
||||
UA_OPTIONAL), \
|
||||
UA_OPTIONAL, \
|
||||
.is_udata = 1), \
|
||||
UVERBS_ATTR_PTR_OUT(UVERBS_ATTR_UHW_OUT, \
|
||||
UVERBS_ATTR_MIN_SIZE(0), \
|
||||
UA_OPTIONAL)
|
||||
UA_OPTIONAL, \
|
||||
.is_udata = 1)
|
||||
|
||||
/* =================================================
|
||||
* Parsing infrastructure
|
||||
|
Reference in New Issue
Block a user