diff mbox series

rxe: fix xa_alloc_cycle() error return value check again

Message ID 20220609070656.1446121-1-dzm91@hust.edu.cn (mailing list archive)
State Accepted
Headers show
Series rxe: fix xa_alloc_cycle() error return value check again | expand

Commit Message

Dongliang Mu June 9, 2022, 7:06 a.m. UTC
From: Dongliang Mu <mudongliangabcd@gmail.com>

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.

Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
---
 drivers/infiniband/sw/rxe/rxe_pool.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Leon Romanovsky June 16, 2022, 8:57 a.m. UTC | #1
On Thu, Jun 09, 2022 at 03:06:56PM +0800, Dongliang Mu wrote:
> From: Dongliang Mu <mudongliangabcd@gmail.com>
> 
> 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.
> 
> Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
> ---
>  drivers/infiniband/sw/rxe/rxe_pool.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

I applied same fix to rxe_alloc() and added Fixes line.

Thanks, applied.

> 
> diff --git a/drivers/infiniband/sw/rxe/rxe_pool.c b/drivers/infiniband/sw/rxe/rxe_pool.c
> index 1cc8e847ccff..e9f3bbd8d605 100644
> --- a/drivers/infiniband/sw/rxe/rxe_pool.c
> +++ b/drivers/infiniband/sw/rxe/rxe_pool.c
> @@ -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;
> -- 
> 2.25.1
>
William Kucharski Aug. 5, 2022, 11:21 a.m. UTC | #2
I erroneously sent a duplicate of this patch last week because I didn't see the fix in the 5.19 kernel as of yet.

Do we know when it might be pulled into Linus' tree?

Thanks,
    William Kucharski

> On Jun 16, 2022, at 2:57 AM, Leon Romanovsky <leon@kernel.org> wrote:
> 
> On Thu, Jun 09, 2022 at 03:06:56PM +0800, Dongliang Mu wrote:
>> From: Dongliang Mu <mudongliangabcd@gmail.com>
>> 
>> 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.
>> 
>> Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
>> ---
>> drivers/infiniband/sw/rxe/rxe_pool.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> I applied same fix to rxe_alloc() and added Fixes line.
> 
> Thanks, applied.
> 
>> 
>> diff --git a/drivers/infiniband/sw/rxe/rxe_pool.c b/drivers/infiniband/sw/rxe/rxe_pool.c
>> index 1cc8e847ccff..e9f3bbd8d605 100644
>> --- a/drivers/infiniband/sw/rxe/rxe_pool.c
>> +++ b/drivers/infiniband/sw/rxe/rxe_pool.c
>> @@ -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;
>> -- 
>> 2.25.1
>>
Jason Gunthorpe Aug. 5, 2022, 12:12 p.m. UTC | #3
On Fri, Aug 05, 2022 at 11:21:53AM +0000, William Kucharski wrote:
> I erroneously sent a duplicate of this patch last week because I didn't see the fix in the 5.19 kernel as of yet.
> 
> Do we know when it might be pulled into Linus' tree?

Yesterday

Jason
William Kucharski Aug. 5, 2022, 4:29 p.m. UTC | #4
Perfect, thank you.

> On Aug 5, 2022, at 6:12 AM, Jason Gunthorpe <jgg@ziepe.ca> wrote:
> 
> On Fri, Aug 05, 2022 at 11:21:53AM +0000, William Kucharski wrote:
>> I erroneously sent a duplicate of this patch last week because I didn't see the fix in the 5.19 kernel as of yet.
>> 
>> Do we know when it might be pulled into Linus' tree?
> 
> Yesterday
> 
> Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/sw/rxe/rxe_pool.c b/drivers/infiniband/sw/rxe/rxe_pool.c
index 1cc8e847ccff..e9f3bbd8d605 100644
--- a/drivers/infiniband/sw/rxe/rxe_pool.c
+++ b/drivers/infiniband/sw/rxe/rxe_pool.c
@@ -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;