summaryrefslogtreecommitdiff
path: root/include/rdma/uverbs_std_types.h
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2018-07-10 20:55:20 -0600
committerJason Gunthorpe <jgg@mellanox.com>2018-07-25 14:21:22 -0600
commit2c96eb7d62de5048aa08e9ee4fbb607f29e2638c (patch)
tree3c73802d3c6661c6828c2f9fe881e4710875cf97 /include/rdma/uverbs_std_types.h
parente951747a087a8655f467833bb367ebf53d57527c (diff)
IB/uverbs: Always propagate errors from rdma_alloc_commit_uobject()
The ioctl framework already does this correctly, but the write path did not. This is trivially fixed by simply using a standard pattern to return uobj_alloc_commit() as the last statement in every function. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'include/rdma/uverbs_std_types.h')
-rw-r--r--include/rdma/uverbs_std_types.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/rdma/uverbs_std_types.h b/include/rdma/uverbs_std_types.h
index 4f32eab8b7a4..076f085d2dcf 100644
--- a/include/rdma/uverbs_std_types.h
+++ b/include/rdma/uverbs_std_types.h
@@ -102,9 +102,14 @@ static inline int __must_check uobj_remove_commit(struct ib_uobject *uobj)
return rdma_remove_commit_uobject(uobj);
}
-static inline void uobj_alloc_commit(struct ib_uobject *uobj)
+static inline int __must_check uobj_alloc_commit(struct ib_uobject *uobj,
+ int success_res)
{
- rdma_alloc_commit_uobject(uobj);
+ int ret = rdma_alloc_commit_uobject(uobj);
+
+ if (ret)
+ return ret;
+ return success_res;
}
static inline void uobj_alloc_abort(struct ib_uobject *uobj)