diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2018-07-11 05:55:20 +0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-07-25 23:21:22 +0300 |
commit | 2c96eb7d62de5048aa08e9ee4fbb607f29e2638c (patch) | |
tree | 3c73802d3c6661c6828c2f9fe881e4710875cf97 /include/rdma/uverbs_std_types.h | |
parent | e951747a087a8655f467833bb367ebf53d57527c (diff) | |
download | linux-2c96eb7d62de5048aa08e9ee4fbb607f29e2638c.tar.xz |
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.h | 9 |
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) |