On Tue, Jun 26, 2018 at 01:10:50PM +0300, Yishai Hadas wrote: > On 6/26/2018 1:12 AM, Jason Gunthorpe wrote: > >From: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > > >Two methods are sharing the same attribute constant, but the attribute > >definitions are not the same. This should not have been done, instead > >split them into two attributes with the same number. > > > >Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > .../infiniband/core/uverbs_std_types_flow_action.c | 12 ++++++++---- > > include/uapi/rdma/ib_user_ioctl_cmds.h | 7 ++++++- > > 2 files changed, 14 insertions(+), 5 deletions(-) > > > >diff --git a/drivers/infiniband/core/uverbs_std_types_flow_action.c b/drivers/infiniband/core/uverbs_std_types_flow_action.c > >index a7be51cf2e42ca..e3d282cb7bf2ba 100644 > >+++ b/drivers/infiniband/core/uverbs_std_types_flow_action.c > >@@ -320,7 +320,8 @@ static int UVERBS_HANDLER(UVERBS_METHOD_FLOW_ACTION_ESP_CREATE)(struct ib_device > > return ret; > > /* No need to check as this attribute is marked as MANDATORY */ > >- uobj = uverbs_attr_get_uobject(attrs, UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE); > >+ uobj = uverbs_attr_get_uobject( > >+ attrs, UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE); > > action = ib_dev->create_flow_action_esp(ib_dev, &esp_attr.hdr, attrs); > > if (IS_ERR(action)) > > return PTR_ERR(action); > >@@ -350,7 +351,8 @@ static int UVERBS_HANDLER(UVERBS_METHOD_FLOW_ACTION_ESP_MODIFY)(struct ib_device > > if (ret) > > return ret; > >- uobj = uverbs_attr_get_uobject(attrs, UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE); > >+ uobj = uverbs_attr_get_uobject( > >+ attrs, UVERBS_ATTR_MODIFY_FLOW_ACTION_ESP_HANDLE); > > action = uobj->object; > > if (action->type != IB_FLOW_ACTION_ESP) > >@@ -389,7 +391,8 @@ static const struct uverbs_attr_spec uverbs_flow_action_esp_replay[] = { > > }; > > static DECLARE_UVERBS_NAMED_METHOD(UVERBS_METHOD_FLOW_ACTION_ESP_CREATE, > >- &UVERBS_ATTR_IDR(UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE, UVERBS_OBJECT_FLOW_ACTION, > >+ &UVERBS_ATTR_IDR(UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE, > >+ UVERBS_OBJECT_FLOW_ACTION, > > UVERBS_ACCESS_NEW, > > UA_FLAGS(UVERBS_ATTR_SPEC_F_MANDATORY)), > > &UVERBS_ATTR_PTR_IN(UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS, > >@@ -406,7 +409,8 @@ static DECLARE_UVERBS_NAMED_METHOD(UVERBS_METHOD_FLOW_ACTION_ESP_CREATE, > > UVERBS_ATTR_STRUCT(struct ib_uverbs_flow_action_esp_encap, type))); > > static DECLARE_UVERBS_NAMED_METHOD(UVERBS_METHOD_FLOW_ACTION_ESP_MODIFY, > >- &UVERBS_ATTR_IDR(UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE, UVERBS_OBJECT_FLOW_ACTION, > >+ &UVERBS_ATTR_IDR(UVERBS_ATTR_MODIFY_FLOW_ACTION_ESP_HANDLE, > >+ UVERBS_OBJECT_FLOW_ACTION, > > UVERBS_ACCESS_WRITE, > > UA_FLAGS(UVERBS_ATTR_SPEC_F_MANDATORY)), > > &UVERBS_ATTR_PTR_IN(UVERBS_ATTR_FLOW_ACTION_ESP_ATTRS, > >diff --git a/include/uapi/rdma/ib_user_ioctl_cmds.h b/include/uapi/rdma/ib_user_ioctl_cmds.h > >index 888ac5975a6c24..2c881aaf05c2a6 100644 > >+++ b/include/uapi/rdma/ib_user_ioctl_cmds.h > >@@ -79,7 +79,7 @@ enum uverbs_attrs_destroy_cq_cmd_attr_ids { > > }; > > enum uverbs_attrs_create_flow_action_esp { > >- UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE, > >+ UVERBS_ATTR_CREATE_FLOW_ACTION_ESP_HANDLE, > > This change the UAPI *names* that are already in use by rdma_core. > A matching change should be done there once this code is taken and kernel > headers are synced. Yes. Jason -- 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