From: Timothy Day Date: Wed, 14 Aug 2024 05:10:23 +0000 (-0400) Subject: LU-18141 misc: (for l*) don't check NULL before free'ing X-Git-Tag: 2.15.90~10 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=702cffaa1bd2fb2d430f2af7994834b4225ea6fe;p=fs%2Flustre-release.git LU-18141 misc: (for l*) don't check NULL before free'ing The common free'ing macros already check for NULL, so we don't need to explicitly check this beforehand. The patch has been generated with the coccinelle script below. @@ expression E; @@ - if (E != NULL) ( OBD_FREE_PTR(E); | OBD_FREE(E, ...); | LIBCFS_FREE(E, ...); | CFS_FREE_PTR(E); | CFS_FREE_PTR_ARRAY(E, ...); ) Test-Parameters: trivial Signed-off-by: Timothy Day Change-Id: I9619a08ff736e727544a0442f588e2a0a9f6ad22 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56049 Tested-by: jenkins Tested-by: Maloo Reviewed-by: jsimmons Reviewed-by: Oleg Drokin Reviewed-by: Andreas Dilger --- diff --git a/libcfs/libcfs/hash.c b/libcfs/libcfs/hash.c index 63fdb0f..f204918 100644 --- a/libcfs/libcfs/hash.c +++ b/libcfs/libcfs/hash.c @@ -903,16 +903,14 @@ cfs_hash_dual_bd_finddel_locked(struct cfs_hash *hs, struct cfs_hash_bd *bds, static void cfs_hash_buckets_free(struct cfs_hash_bucket **buckets, - int bkt_size, int prev_size, int size) + int bkt_size, int prev_size, int size) { - int i; + int i; - for (i = prev_size; i < size; i++) { - if (buckets[i] != NULL) - LIBCFS_FREE(buckets[i], bkt_size); - } + for (i = prev_size; i < size; i++) + LIBCFS_FREE(buckets[i], bkt_size); - LIBCFS_FREE(buckets, sizeof(buckets[0]) * size); + LIBCFS_FREE(buckets, sizeof(buckets[0]) * size); } /* diff --git a/lnet/klnds/gnilnd/gnilnd_proc.c b/lnet/klnds/gnilnd/gnilnd_proc.c index d84dc0b..28cf9ca 100644 --- a/lnet/klnds/gnilnd/gnilnd_proc.c +++ b/lnet/klnds/gnilnd/gnilnd_proc.c @@ -139,10 +139,8 @@ unwind: __free_page(dest[i].bv_page); } - if (src != NULL) - CFS_FREE_PTR_ARRAY(src, GNILND_MAX_IOV); - if (dest != NULL) - CFS_FREE_PTR_ARRAY(dest, GNILND_MAX_IOV); + CFS_FREE_PTR_ARRAY(src, GNILND_MAX_IOV); + CFS_FREE_PTR_ARRAY(dest, GNILND_MAX_IOV); return rc; } @@ -623,8 +621,7 @@ kgnilnd_smsg_seq_stop(struct seq_file *s, void *iter) { kgn_smsg_seq_iter_t *gseq = iter; - if (gseq != NULL) - LIBCFS_FREE(gseq, sizeof(*gseq)); + LIBCFS_FREE(gseq, sizeof(*gseq)); } static void * @@ -838,8 +835,7 @@ kgnilnd_conn_seq_stop(struct seq_file *s, void *iter) { kgn_conn_seq_iter_t *gseq = iter; - if (gseq != NULL) - LIBCFS_FREE(gseq, sizeof(*gseq)); + LIBCFS_FREE(gseq, sizeof(*gseq)); } static void * @@ -1181,8 +1177,7 @@ kgnilnd_peer_seq_stop(struct seq_file *s, void *iter) { kgn_peer_seq_iter_t *gseq = iter; - if (gseq != NULL) - LIBCFS_FREE(gseq, sizeof(*gseq)); + LIBCFS_FREE(gseq, sizeof(*gseq)); } static void * diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c index 1b130ca..b82bc71 100644 --- a/lnet/klnds/o2iblnd/o2iblnd.c +++ b/lnet/klnds/o2iblnd/o2iblnd.c @@ -1031,11 +1031,9 @@ kiblnd_destroy_conn(struct kib_conn *conn) if (conn->ibc_rx_pages != NULL) kiblnd_unmap_rx_descs(conn); - if (conn->ibc_rxs != NULL) - CFS_FREE_PTR_ARRAY(conn->ibc_rxs, IBLND_RX_MSGS(conn)); + CFS_FREE_PTR_ARRAY(conn->ibc_rxs, IBLND_RX_MSGS(conn)); - if (conn->ibc_connvars != NULL) - LIBCFS_FREE(conn->ibc_connvars, sizeof(*conn->ibc_connvars)); + LIBCFS_FREE(conn->ibc_connvars, sizeof(*conn->ibc_connvars)); if (conn->ibc_hdev != NULL) kiblnd_hdev_decref(conn->ibc_hdev); @@ -2426,24 +2424,20 @@ kiblnd_destroy_tx_pool(struct kib_pool *pool) int wrq_sge = *kiblnd_tunables.kib_wrq_sge; list_del(&tx->tx_list); - if (tx->tx_pages != NULL) - CFS_FREE_PTR_ARRAY(tx->tx_pages, LNET_MAX_IOV); - if (tx->tx_frags != NULL) - CFS_FREE_PTR_ARRAY(tx->tx_frags, - IBLND_MAX_RDMA_FRAGS); - if (tx->tx_wrq != NULL) - CFS_FREE_PTR_ARRAY(tx->tx_wrq, - IBLND_MAX_RDMA_FRAGS); + CFS_FREE_PTR_ARRAY(tx->tx_pages, LNET_MAX_IOV); + CFS_FREE_PTR_ARRAY(tx->tx_frags, + IBLND_MAX_RDMA_FRAGS); + CFS_FREE_PTR_ARRAY(tx->tx_wrq, + IBLND_MAX_RDMA_FRAGS); if (tx->tx_sge != NULL) { /* +1 is for the lnet header/message itself */ CFS_FREE_PTR_ARRAY(tx->tx_sge, (IBLND_MAX_RDMA_FRAGS * wrq_sge + 1)); } - if (tx->tx_rd != NULL) - LIBCFS_FREE(tx->tx_rd, - offsetof(struct kib_rdma_desc, - rd_frags[IBLND_MAX_RDMA_FRAGS])); + LIBCFS_FREE(tx->tx_rd, + offsetof(struct kib_rdma_desc, + rd_frags[IBLND_MAX_RDMA_FRAGS])); } CFS_FREE_PTR_ARRAY(tpo->tpo_tx_descs, pool->po_size); diff --git a/lnet/klnds/socklnd/socklnd.c b/lnet/klnds/socklnd/socklnd.c index 0d3bda0..9dd8444 100644 --- a/lnet/klnds/socklnd/socklnd.c +++ b/lnet/klnds/socklnd/socklnd.c @@ -1307,9 +1307,8 @@ failed_2: ksocknal_peer_decref(peer_ni); failed_1: - if (hello != NULL) - LIBCFS_FREE(hello, offsetof(struct ksock_hello_msg, - kshm_ips[LNET_INTERFACES_NUM])); + LIBCFS_FREE(hello, offsetof(struct ksock_hello_msg, + kshm_ips[LNET_INTERFACES_NUM])); LIBCFS_FREE(conn, sizeof(*conn)); diff --git a/lnet/selftest/conctl.c b/lnet/selftest/conctl.c index a48344d..785e6bb 100644 --- a/lnet/selftest/conctl.c +++ b/lnet/selftest/conctl.c @@ -97,8 +97,7 @@ lst_debug_ioctl(struct lstio_debug_args *args) } out: - if (name != NULL) - LIBCFS_FREE(name, args->lstio_dbg_nmlen + 1); + LIBCFS_FREE(name, args->lstio_dbg_nmlen + 1); return rc; } @@ -538,8 +537,7 @@ lst_stat_query_ioctl(struct lstio_stat_args *args) rc = -EINVAL; } - if (name != NULL) - LIBCFS_FREE(name, args->lstio_sta_nmlen + 1); + LIBCFS_FREE(name, args->lstio_sta_nmlen + 1); return rc; } @@ -623,17 +621,13 @@ static int lst_test_add_ioctl(struct lstio_test_args *args) rc = (copy_to_user(args->lstio_tes_retp, &ret, sizeof(ret))) ? -EFAULT : 0; out: - if (batch_name != NULL) - LIBCFS_FREE(batch_name, args->lstio_tes_bat_nmlen + 1); + LIBCFS_FREE(batch_name, args->lstio_tes_bat_nmlen + 1); - if (src_name != NULL) - LIBCFS_FREE(src_name, args->lstio_tes_sgrp_nmlen + 1); + LIBCFS_FREE(src_name, args->lstio_tes_sgrp_nmlen + 1); - if (dst_name != NULL) - LIBCFS_FREE(dst_name, args->lstio_tes_dgrp_nmlen + 1); + LIBCFS_FREE(dst_name, args->lstio_tes_dgrp_nmlen + 1); - if (param != NULL) - LIBCFS_FREE(param, args->lstio_tes_param_len); + LIBCFS_FREE(param, args->lstio_tes_param_len); return rc; } diff --git a/lnet/selftest/console.c b/lnet/selftest/console.c index 0797f28..fd184ea 100644 --- a/lnet/selftest/console.c +++ b/lnet/selftest/console.c @@ -1307,9 +1307,8 @@ lstcon_test_add(char *batch_name, int type, int loop, /* hold groups so nobody can change them */ return rc; out: - if (test != NULL) - LIBCFS_FREE(test, offsetof(struct lstcon_test, - tes_param[paramlen])); + LIBCFS_FREE(test, offsetof(struct lstcon_test, + tes_param[paramlen])); if (dst_grp != NULL) lstcon_group_decref(dst_grp); diff --git a/lustre/ldlm/ldlm_lib.c b/lustre/ldlm/ldlm_lib.c index 539e13c..f2490c8 100644 --- a/lustre/ldlm/ldlm_lib.c +++ b/lustre/ldlm/ldlm_lib.c @@ -107,8 +107,7 @@ static int import_set_conn(struct obd_import *imp, struct obd_uuid *uuid, spin_unlock(&imp->imp_lock); RETURN(0); out_free: - if (imp_conn) - OBD_FREE(imp_conn, sizeof(*imp_conn)); + OBD_FREE(imp_conn, sizeof(*imp_conn)); out_put: ptlrpc_connection_put(ptlrpc_conn); RETURN(rc); @@ -558,9 +557,8 @@ err_import: err_ldlm: ldlm_put_ref(); err: - if (cli->cl_mod_tag_bitmap != NULL) - OBD_FREE(cli->cl_mod_tag_bitmap, - BITS_TO_LONGS(OBD_MAX_RIF_MAX) * sizeof(long)); + OBD_FREE(cli->cl_mod_tag_bitmap, + BITS_TO_LONGS(OBD_MAX_RIF_MAX) * sizeof(long)); cli->cl_mod_tag_bitmap = NULL; RETURN(rc); @@ -581,9 +579,8 @@ int client_obd_cleanup(struct obd_device *obd) ldlm_put_ref(); - if (cli->cl_mod_tag_bitmap != NULL) - OBD_FREE(cli->cl_mod_tag_bitmap, - BITS_TO_LONGS(OBD_MAX_RIF_MAX) * sizeof(long)); + OBD_FREE(cli->cl_mod_tag_bitmap, + BITS_TO_LONGS(OBD_MAX_RIF_MAX) * sizeof(long)); cli->cl_mod_tag_bitmap = NULL; RETURN(0); @@ -921,8 +918,7 @@ static int target_handle_reconnect(struct lustre_handle *conn, target->obd_name, abs(timeout) / 60, abs(timeout) % 60, target->obd_name); - if (buf != NULL) - OBD_FREE(buf, size); + OBD_FREE(buf, size); } out_already: diff --git a/lustre/ldlm/ldlm_resource.c b/lustre/ldlm/ldlm_resource.c index c859458..c3eab28 100644 --- a/lustre/ldlm/ldlm_resource.c +++ b/lustre/ldlm/ldlm_resource.c @@ -1505,8 +1505,7 @@ static void ldlm_resource_free(struct ldlm_resource *res) OBD_SLAB_FREE(res->lr_itree, ldlm_interval_tree_slab, sizeof(*res->lr_itree) * LCK_MODE_NUM); } else if (res->lr_type == LDLM_IBITS) { - if (res->lr_ibits_queues != NULL) - OBD_FREE_PTR(res->lr_ibits_queues); + OBD_FREE_PTR(res->lr_ibits_queues); } call_rcu(&res->lr_rcu, __ldlm_resource_free); diff --git a/lustre/lfsck/lfsck_layout.c b/lustre/lfsck/lfsck_layout.c index 32f6bb9..72a6df0 100644 --- a/lustre/lfsck/lfsck_layout.c +++ b/lustre/lfsck/lfsck_layout.c @@ -7356,8 +7356,7 @@ out: lfsck_instance_put(env, lfsck); if (rc != 0) { - if (it != NULL) - OBD_FREE_PTR(it); + OBD_FREE_PTR(it); it = (struct lfsck_orphan_it *)ERR_PTR(rc); } diff --git a/lustre/lmv/lmv_obd.c b/lustre/lmv/lmv_obd.c index 79918db..83d620e 100644 --- a/lustre/lmv/lmv_obd.c +++ b/lustre/lmv/lmv_obd.c @@ -728,8 +728,7 @@ repeat_fid2path: goto repeat_fid2path; out_fid2path: - if (remote_gf != NULL) - OBD_FREE(remote_gf, remote_gf_size); + OBD_FREE(remote_gf, remote_gf_size); RETURN(rc); } diff --git a/lustre/lod/lod_dev.c b/lustre/lod/lod_dev.c index aa8f144..699ad9ef 100644 --- a/lustre/lod/lod_dev.c +++ b/lustre/lod/lod_dev.c @@ -2040,10 +2040,8 @@ static int lod_connect_to_osd(const struct lu_env *env, struct lod_device *lod, lod->lod_child = lu2dt_dev(lod->lod_child_exp->exp_obd->obd_lu_dev); out: - if (data) - OBD_FREE_PTR(data); - if (nextdev) - OBD_FREE(nextdev, len); + OBD_FREE_PTR(data); + OBD_FREE(nextdev, len); RETURN(rc); } diff --git a/lustre/lod/lod_object.c b/lustre/lod/lod_object.c index 7d331a2..adedd13 100644 --- a/lustre/lod/lod_object.c +++ b/lustre/lod/lod_object.c @@ -1966,8 +1966,7 @@ static int lod_dir_declare_create_stripes(const struct lu_env *env, if (rc != 0) GOTO(out, rc); out: - if (slave_lmm != NULL) - OBD_FREE_PTR(slave_lmm); + OBD_FREE_PTR(slave_lmm); RETURN(rc); } @@ -4512,8 +4511,7 @@ static int lod_xattr_set_lmv(const struct lu_env *env, struct dt_object *dt, rc = lod_sub_xattr_set(env, dt_object_child(dt), &lmv_buf, XATTR_NAME_LMV, fl, th); out: - if (slave_lmm != NULL) - OBD_FREE_PTR(slave_lmm); + OBD_FREE_PTR(slave_lmm); RETURN(rc); } diff --git a/lustre/lov/lov_request.c b/lustre/lov/lov_request.c index 77dff64..f69d4e3 100644 --- a/lustre/lov/lov_request.c +++ b/lustre/lov/lov_request.c @@ -55,8 +55,7 @@ static void lov_finish_set(struct lov_request_set *set) struct lov_request, rq_link)) != NULL) { list_del_init(&req->rq_link); - if (req->rq_oi.oi_osfs) - OBD_FREE_PTR(req->rq_oi.oi_osfs); + OBD_FREE_PTR(req->rq_oi.oi_osfs); OBD_FREE_PTR(req); }