RDMA/rxe: fix xa_alloc_cycle() error return value check again
[ Upstream commit 1a685940e6200e9def6e34bbaa19dd31dc5aeaf8 ] Currently rxe_alloc checks ret to indicate error, but 1 is also a valid return and just indicates that the allocation succeeded with a wrap. Fix this by modifying the check to be < 0. Link: https://lore.kernel.org/r/20220609070656.1446121-1-dzm91@hust.edu.cn Fixes: 3225717f6dfa ("RDMA/rxe: Replace red-black trees by xarrays") Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com> Reviewed-by: Bob Pearson <rpearsonhpe@gmail.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5067b77662
commit
6d8682d45d
@ -139,7 +139,7 @@ void *rxe_alloc(struct rxe_pool *pool)
|
||||
|
||||
err = xa_alloc_cyclic(&pool->xa, &elem->index, elem, pool->limit,
|
||||
&pool->next, GFP_KERNEL);
|
||||
if (err)
|
||||
if (err < 0)
|
||||
goto err_free;
|
||||
|
||||
return obj;
|
||||
@ -167,7 +167,7 @@ int __rxe_add_to_pool(struct rxe_pool *pool, struct rxe_pool_elem *elem)
|
||||
|
||||
err = xa_alloc_cyclic(&pool->xa, &elem->index, elem, pool->limit,
|
||||
&pool->next, GFP_KERNEL);
|
||||
if (err)
|
||||
if (err < 0)
|
||||
goto err_cnt;
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user