mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 15:47:36 +00:00
RDMA/rxe: Clean kzalloc failure paths
There is no need to print any debug messages after failure to
allocate memory, because kernel will print OOM dumps anyway.
Together with removal of these messages, remove useless goto jumps.
Fixes: 5bf944f241
("RDMA/rxe: Add error messages")
Reported-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/all/ea43486f-43dd-4054-b1d5-3a0d202be621@kili.mountain
Link: https://lore.kernel.org/r/d3cedf723b84e73e8062a67b7489d33802bafba2.1680113597.git.leon@kernel.org
Reviewed-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
This commit is contained in:
parent
78b26a3353
commit
b6ba68555d
2 changed files with 9 additions and 23 deletions
|
@ -61,11 +61,11 @@ struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe, int *num_elem,
|
||||||
|
|
||||||
/* num_elem == 0 is allowed, but uninteresting */
|
/* num_elem == 0 is allowed, but uninteresting */
|
||||||
if (*num_elem < 0)
|
if (*num_elem < 0)
|
||||||
goto err1;
|
return NULL;
|
||||||
|
|
||||||
q = kzalloc(sizeof(*q), GFP_KERNEL);
|
q = kzalloc(sizeof(*q), GFP_KERNEL);
|
||||||
if (!q)
|
if (!q)
|
||||||
goto err1;
|
return NULL;
|
||||||
|
|
||||||
q->rxe = rxe;
|
q->rxe = rxe;
|
||||||
q->type = type;
|
q->type = type;
|
||||||
|
@ -100,7 +100,6 @@ struct rxe_queue *rxe_queue_init(struct rxe_dev *rxe, int *num_elem,
|
||||||
|
|
||||||
err2:
|
err2:
|
||||||
kfree(q);
|
kfree(q);
|
||||||
err1:
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1198,11 +1198,8 @@ static struct ib_mr *rxe_get_dma_mr(struct ib_pd *ibpd, int access)
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
mr = kzalloc(sizeof(*mr), GFP_KERNEL);
|
mr = kzalloc(sizeof(*mr), GFP_KERNEL);
|
||||||
if (!mr) {
|
if (!mr)
|
||||||
err = -ENOMEM;
|
return ERR_PTR(-ENOMEM);
|
||||||
rxe_dbg_dev(rxe, "no memory for mr");
|
|
||||||
goto err_out;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = rxe_add_to_pool(&rxe->mr_pool, mr);
|
err = rxe_add_to_pool(&rxe->mr_pool, mr);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -1220,7 +1217,6 @@ static struct ib_mr *rxe_get_dma_mr(struct ib_pd *ibpd, int access)
|
||||||
|
|
||||||
err_free:
|
err_free:
|
||||||
kfree(mr);
|
kfree(mr);
|
||||||
err_out:
|
|
||||||
rxe_err_pd(pd, "returned err = %d", err);
|
rxe_err_pd(pd, "returned err = %d", err);
|
||||||
return ERR_PTR(err);
|
return ERR_PTR(err);
|
||||||
}
|
}
|
||||||
|
@ -1235,11 +1231,8 @@ static struct ib_mr *rxe_reg_user_mr(struct ib_pd *ibpd, u64 start,
|
||||||
int err, cleanup_err;
|
int err, cleanup_err;
|
||||||
|
|
||||||
mr = kzalloc(sizeof(*mr), GFP_KERNEL);
|
mr = kzalloc(sizeof(*mr), GFP_KERNEL);
|
||||||
if (!mr) {
|
if (!mr)
|
||||||
err = -ENOMEM;
|
return ERR_PTR(-ENOMEM);
|
||||||
rxe_dbg_pd(pd, "no memory for mr");
|
|
||||||
goto err_out;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = rxe_add_to_pool(&rxe->mr_pool, mr);
|
err = rxe_add_to_pool(&rxe->mr_pool, mr);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -1266,7 +1259,6 @@ static struct ib_mr *rxe_reg_user_mr(struct ib_pd *ibpd, u64 start,
|
||||||
rxe_err_mr(mr, "cleanup failed, err = %d", cleanup_err);
|
rxe_err_mr(mr, "cleanup failed, err = %d", cleanup_err);
|
||||||
err_free:
|
err_free:
|
||||||
kfree(mr);
|
kfree(mr);
|
||||||
err_out:
|
|
||||||
rxe_err_pd(pd, "returned err = %d", err);
|
rxe_err_pd(pd, "returned err = %d", err);
|
||||||
return ERR_PTR(err);
|
return ERR_PTR(err);
|
||||||
}
|
}
|
||||||
|
@ -1287,17 +1279,12 @@ static struct ib_mr *rxe_alloc_mr(struct ib_pd *ibpd, enum ib_mr_type mr_type,
|
||||||
}
|
}
|
||||||
|
|
||||||
mr = kzalloc(sizeof(*mr), GFP_KERNEL);
|
mr = kzalloc(sizeof(*mr), GFP_KERNEL);
|
||||||
if (!mr) {
|
if (!mr)
|
||||||
err = -ENOMEM;
|
return ERR_PTR(-ENOMEM);
|
||||||
rxe_dbg_mr(mr, "no memory for mr");
|
|
||||||
goto err_out;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = rxe_add_to_pool(&rxe->mr_pool, mr);
|
err = rxe_add_to_pool(&rxe->mr_pool, mr);
|
||||||
if (err) {
|
if (err)
|
||||||
rxe_dbg_mr(mr, "unable to create mr, err = %d", err);
|
|
||||||
goto err_free;
|
goto err_free;
|
||||||
}
|
|
||||||
|
|
||||||
rxe_get(pd);
|
rxe_get(pd);
|
||||||
mr->ibmr.pd = ibpd;
|
mr->ibmr.pd = ibpd;
|
||||||
|
|
Loading…
Reference in a new issue