]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: use get_random_u{16,32,64}() where appropriate
authorDavid Carlier <devnexen@gmail.com>
Tue, 7 Apr 2026 15:07:58 +0000 (16:07 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 10 Apr 2026 02:27:43 +0000 (19:27 -0700)
Use the typed random integer helpers instead of
get_random_bytes() when filling a single integer variable.
The helpers return the value directly, require no pointer
or size argument, and better express intent.

Skipped sites writing into __be16 (netdevsim) and __le64
(ceph) fields where a direct assignment would trigger
sparse endianness warnings.

Signed-off-by: David Carlier <devnexen@gmail.com>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260407150758.5889-1-devnexen@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/netdevsim/psample.c
net/core/net_namespace.c
net/mac80211/mesh_plink.c
net/mptcp/subflow.c
net/openvswitch/flow_table.c
net/sctp/sm_make_chunk.c
net/tipc/node.c

index 47d24bc64ee4186c4c624bcb7bdbcd6e7a8d302f..717d157c3ae2b6257f1bd777ea9ca01ee61f749d 100644 (file)
@@ -94,7 +94,7 @@ static void nsim_dev_psample_md_prepare(const struct nsim_dev_psample *psample,
        if (psample->out_tc_occ_max) {
                u64 out_tc_occ;
 
-               get_random_bytes(&out_tc_occ, sizeof(u64));
+               out_tc_occ = get_random_u64();
                md->out_tc_occ = out_tc_occ & (psample->out_tc_occ_max - 1);
                md->out_tc_occ_valid = 1;
        }
@@ -102,7 +102,7 @@ static void nsim_dev_psample_md_prepare(const struct nsim_dev_psample *psample,
        if (psample->latency_max) {
                u64 latency;
 
-               get_random_bytes(&latency, sizeof(u64));
+               latency = get_random_u64();
                md->latency = latency & (psample->latency_max - 1);
                md->latency_valid = 1;
        }
index 1057d16d5dd28ae0a3facc7fabc6e4c7cebd5a45..deb8b2ec5674768d7379949bba6466d6ff63790d 100644 (file)
@@ -411,7 +411,7 @@ static __net_init int preinit_net(struct net *net, struct user_namespace *user_n
        ref_tracker_dir_init(&net->refcnt_tracker, 128, "net_refcnt");
        ref_tracker_dir_init(&net->notrefcnt_tracker, 128, "net_notrefcnt");
 
-       get_random_bytes(&net->hash_mix, sizeof(u32));
+       net->hash_mix = get_random_u32();
        net->dev_base_seq = 1;
        net->user_ns = user_ns;
 
index 803106fc313489eb9fa06eca78f3d3dc376f33da..7cbab90c8784f186faf8090e55b132c221fb5630 100644 (file)
@@ -712,7 +712,7 @@ void mesh_plink_timer(struct timer_list *t)
                                "Mesh plink for %pM (retry, timeout): %d %d\n",
                                sta->sta.addr, sta->mesh->plink_retries,
                                sta->mesh->plink_timeout);
-                       get_random_bytes(&rand, sizeof(u32));
+                       rand = get_random_u32();
                        sta->mesh->plink_timeout = sta->mesh->plink_timeout +
                                             rand % sta->mesh->plink_timeout;
                        ++sta->mesh->plink_retries;
index c57ed27a5fb027e79414f32f722b667891135791..e2cb9d23e4a0b2fc5a46e641b53858ebd8d48895 100644 (file)
@@ -72,7 +72,7 @@ static void subflow_req_create_thmac(struct mptcp_subflow_request_sock *subflow_
        struct mptcp_sock *msk = subflow_req->msk;
        u8 hmac[SHA256_DIGEST_SIZE];
 
-       get_random_bytes(&subflow_req->local_nonce, sizeof(u32));
+       subflow_req->local_nonce = get_random_u32();
 
        subflow_generate_hmac(READ_ONCE(msk->local_key),
                              READ_ONCE(msk->remote_key),
@@ -1639,7 +1639,7 @@ int __mptcp_subflow_connect(struct sock *sk, const struct mptcp_pm_local *local,
        ssk = sf->sk;
        subflow = mptcp_subflow_ctx(ssk);
        do {
-               get_random_bytes(&subflow->local_nonce, sizeof(u32));
+               subflow->local_nonce = get_random_u32();
        } while (!subflow->local_nonce);
 
        /* if 'IPADDRANY', the ID will be set later, after the routing */
index 61c6a5f77c2e59d34bb1121744a84c41b6e1b3a6..67d5b8c0fe792b48fba86b5e9e8948ac674b2d5c 100644 (file)
@@ -167,7 +167,7 @@ static struct table_instance *table_instance_alloc(int new_size)
 
        ti->n_buckets = new_size;
        ti->node_ver = 0;
-       get_random_bytes(&ti->hash_seed, sizeof(u32));
+       ti->hash_seed = get_random_u32();
 
        return ti;
 }
index 2c0017d058d409e6b019e5e97842b78110248fac..de86ac088289e899a2aa70f3db9fe7d338db1009 100644 (file)
@@ -2727,7 +2727,7 @@ __u32 sctp_generate_tag(const struct sctp_endpoint *ep)
        __u32 x;
 
        do {
-               get_random_bytes(&x, sizeof(__u32));
+               x = get_random_u32();
        } while (x == 0);
 
        return x;
@@ -2738,7 +2738,7 @@ __u32 sctp_generate_tsn(const struct sctp_endpoint *ep)
 {
        __u32 retval;
 
-       get_random_bytes(&retval, sizeof(__u32));
+       retval = get_random_u32();
        return retval;
 }
 
index af442a5ef8f3d8038fb58dc9c63b2568b1c05477..97aa970a0d83cab13eef9f5b5715a702053b5b69 100644 (file)
@@ -1275,7 +1275,7 @@ void tipc_node_check_dest(struct net *net, u32 addr,
                        goto exit;
 
                if_name = strchr(b->name, ':') + 1;
-               get_random_bytes(&session, sizeof(u16));
+               session = get_random_u16();
                if (!tipc_link_create(net, if_name, b->identity, b->tolerance,
                                      b->net_plane, b->mtu, b->priority,
                                      b->min_win, b->max_win, session,