Whamcloud - gitweb
LU-18141 misc: (for l*) don't check NULL before free'ing 49/56049/3
authorTimothy Day <timday@amazon.com>
Wed, 14 Aug 2024 05:10:23 +0000 (01:10 -0400)
committerOleg Drokin <green@whamcloud.com>
Fri, 23 Aug 2024 22:08:49 +0000 (22:08 +0000)
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 <timday@amazon.com>
Change-Id: I9619a08ff736e727544a0442f588e2a0a9f6ad22
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56049
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
13 files changed:
libcfs/libcfs/hash.c
lnet/klnds/gnilnd/gnilnd_proc.c
lnet/klnds/o2iblnd/o2iblnd.c
lnet/klnds/socklnd/socklnd.c
lnet/selftest/conctl.c
lnet/selftest/console.c
lustre/ldlm/ldlm_lib.c
lustre/ldlm/ldlm_resource.c
lustre/lfsck/lfsck_layout.c
lustre/lmv/lmv_obd.c
lustre/lod/lod_dev.c
lustre/lod/lod_object.c
lustre/lov/lov_request.c

index 63fdb0f..f204918 100644 (file)
@@ -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);
 }
 
 /*
index d84dc0b..28cf9ca 100644 (file)
@@ -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 *
index 1b130ca..b82bc71 100644 (file)
@@ -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);
index 0d3bda0..9dd8444 100644 (file)
@@ -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));
 
index a48344d..785e6bb 100644 (file)
@@ -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;
 }
index 0797f28..fd184ea 100644 (file)
@@ -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);
index 539e13c..f2490c8 100644 (file)
@@ -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:
index c859458..c3eab28 100644 (file)
@@ -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);
index 32f6bb9..72a6df0 100644 (file)
@@ -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);
        }
index 79918db..83d620e 100644 (file)
@@ -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);
 }
 
index aa8f144..699ad9e 100644 (file)
@@ -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);
 }
 
index 7d331a2..adedd13 100644 (file)
@@ -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);
 }
index 77dff64..f69d4e3 100644 (file)
@@ -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);
        }