diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2018-05-22 15:56:51 -0600 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-05-23 15:25:53 -0600 |
commit | f4602cbb0a2478dda8238a4f382867da425daa8e (patch) | |
tree | 5e7b88cd7864478bcc027384fb23b2a93f3f55af | |
parent | 30bf066cd9989fef34aeeef9080368867fe42be7 (diff) | |
download | linux-f4602cbb0a2478dda8238a4f382867da425daa8e.tar.bz2 |
IB/uverbs: Fix uverbs_attr_get_obj
The err pointer comes from uverbs_attr_get, not from the uobject member,
which does not store an ERR_PTR.
Fixes: be934cca9e98 ("IB/uverbs: Add device memory registration ioctl support")
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
-rw-r--r-- | include/rdma/uverbs_ioctl.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/include/rdma/uverbs_ioctl.h b/include/rdma/uverbs_ioctl.h index 4a4201d997a7..095383a4bd1a 100644 --- a/include/rdma/uverbs_ioctl.h +++ b/include/rdma/uverbs_ioctl.h @@ -411,13 +411,13 @@ static inline int uverbs_attr_get_enum_id(const struct uverbs_attr_bundle *attrs static inline void *uverbs_attr_get_obj(const struct uverbs_attr_bundle *attrs_bundle, u16 idx) { - struct ib_uobject *uobj = - uverbs_attr_get(attrs_bundle, idx)->obj_attr.uobject; + const struct uverbs_attr *attr; - if (IS_ERR(uobj)) - return uobj; + attr = uverbs_attr_get(attrs_bundle, idx); + if (IS_ERR(attr)) + return ERR_CAST(attr); - return uobj->object; + return attr->obj_attr.uobject->object; } static inline int uverbs_copy_to(const struct uverbs_attr_bundle *attrs_bundle, |