From: Jason Gunthorpe <jgg@mellanox.com>
Date: Wed, 20 Jun 2018 15:47:11 -0600
Subject: IB/uverbs: Delete type and id from uverbs_obj_attr
Patch-mainline: v4.19-rc1
Git-commit: 321d7863acf7b1cf921ac18cd5ad5483b3cbb7ec
References: bsc#1103992 FATE#326009
In this context the uobject is not allowed to be NULL, so type is the same
as uobject->type, and at least for IDR, id is the same as uobject->id.
FD objects should never handle the FD number outside the uAPI boundary
code.
Suggested-by: Guy Levi <guyle@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/infiniband/core/uverbs_ioctl.c | 6 ++----
include/rdma/uverbs_ioctl.h | 4 ----
2 files changed, 2 insertions(+), 8 deletions(-)
--- a/drivers/infiniband/core/uverbs_ioctl.c
+++ b/drivers/infiniband/core/uverbs_ioctl.c
@@ -152,14 +152,12 @@ static int uverbs_process_attr(struct ib
object = uverbs_get_object(ibdev, spec->obj.obj_type);
if (!object)
return -EINVAL;
- o_attr->type = object->type_attrs;
- o_attr->id = (int)uattr->data;
o_attr->uobject = uverbs_get_uobject_from_context(
- o_attr->type,
+ object->type_attrs,
ucontext,
spec->obj.access,
- o_attr->id);
+ (int)uattr->data);
if (IS_ERR(o_attr->uobject))
return PTR_ERR(o_attr->uobject);
--- a/include/rdma/uverbs_ioctl.h
+++ b/include/rdma/uverbs_ioctl.h
@@ -344,11 +344,7 @@ struct uverbs_ptr_attr {
};
struct uverbs_obj_attr {
- /* pointer to the kernel descriptor -> type, access, etc */
- const struct uverbs_obj_type *type;
struct ib_uobject *uobject;
- /* fd or id in idr of this object */
- int id;
};
struct uverbs_attr {