Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: 5bf944f24129 ("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>

authored by

Leon Romanovsky and committed by
Leon Romanovsky
b6ba6855 78b26a33

+9 -23
+2 -3
drivers/infiniband/sw/rxe/rxe_queue.c
··· 61 61 62 62 /* num_elem == 0 is allowed, but uninteresting */ 63 63 if (*num_elem < 0) 64 - goto err1; 64 + return NULL; 65 65 66 66 q = kzalloc(sizeof(*q), GFP_KERNEL); 67 67 if (!q) 68 - goto err1; 68 + return NULL; 69 69 70 70 q->rxe = rxe; 71 71 q->type = type; ··· 100 100 101 101 err2: 102 102 kfree(q); 103 - err1: 104 103 return NULL; 105 104 } 106 105
+7 -20
drivers/infiniband/sw/rxe/rxe_verbs.c
··· 1198 1198 int err; 1199 1199 1200 1200 mr = kzalloc(sizeof(*mr), GFP_KERNEL); 1201 - if (!mr) { 1202 - err = -ENOMEM; 1203 - rxe_dbg_dev(rxe, "no memory for mr"); 1204 - goto err_out; 1205 - } 1201 + if (!mr) 1202 + return ERR_PTR(-ENOMEM); 1206 1203 1207 1204 err = rxe_add_to_pool(&rxe->mr_pool, mr); 1208 1205 if (err) { ··· 1217 1220 1218 1221 err_free: 1219 1222 kfree(mr); 1220 - err_out: 1221 1223 rxe_err_pd(pd, "returned err = %d", err); 1222 1224 return ERR_PTR(err); 1223 1225 } ··· 1231 1235 int err, cleanup_err; 1232 1236 1233 1237 mr = kzalloc(sizeof(*mr), GFP_KERNEL); 1234 - if (!mr) { 1235 - err = -ENOMEM; 1236 - rxe_dbg_pd(pd, "no memory for mr"); 1237 - goto err_out; 1238 - } 1238 + if (!mr) 1239 + return ERR_PTR(-ENOMEM); 1239 1240 1240 1241 err = rxe_add_to_pool(&rxe->mr_pool, mr); 1241 1242 if (err) { ··· 1259 1266 rxe_err_mr(mr, "cleanup failed, err = %d", cleanup_err); 1260 1267 err_free: 1261 1268 kfree(mr); 1262 - err_out: 1263 1269 rxe_err_pd(pd, "returned err = %d", err); 1264 1270 return ERR_PTR(err); 1265 1271 } ··· 1279 1287 } 1280 1288 1281 1289 mr = kzalloc(sizeof(*mr), GFP_KERNEL); 1282 - if (!mr) { 1283 - err = -ENOMEM; 1284 - rxe_dbg_mr(mr, "no memory for mr"); 1285 - goto err_out; 1286 - } 1290 + if (!mr) 1291 + return ERR_PTR(-ENOMEM); 1287 1292 1288 1293 err = rxe_add_to_pool(&rxe->mr_pool, mr); 1289 - if (err) { 1290 - rxe_dbg_mr(mr, "unable to create mr, err = %d", err); 1294 + if (err) 1291 1295 goto err_free; 1292 - } 1293 1296 1294 1297 rxe_get(pd); 1295 1298 mr->ibmr.pd = ibpd;