]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mptcp: pass right struct to subflow_hmac_valid
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Sun, 13 Apr 2025 09:34:35 +0000 (11:34 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Apr 2025 15:21:47 +0000 (08:21 -0700)
subflow_hmac_valid() needs to access the MPTCP socket and the subflow
request, but not the request sock that is passed in argument.

Instead, the subflow request can be directly passed to avoid getting it
via an additional cast.

Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250413-net-next-mptcp-sched-mib-sft-misc-v2-4-0f83a4350150@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/subflow.c

index 24c2de1891bdf31dfe04ef2077113563aad0e666..e7951786a97c91190c7341d2c586a1f4acc05ed5 100644 (file)
@@ -745,15 +745,11 @@ struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *op
 EXPORT_SYMBOL(mptcp_subflow_reqsk_alloc);
 
 /* validate hmac received in third ACK */
-static bool subflow_hmac_valid(const struct request_sock *req,
+static bool subflow_hmac_valid(const struct mptcp_subflow_request_sock *subflow_req,
                               const struct mptcp_options_received *mp_opt)
 {
-       const struct mptcp_subflow_request_sock *subflow_req;
+       struct mptcp_sock *msk = subflow_req->msk;
        u8 hmac[SHA256_DIGEST_SIZE];
-       struct mptcp_sock *msk;
-
-       subflow_req = mptcp_subflow_rsk(req);
-       msk = subflow_req->msk;
 
        subflow_generate_hmac(READ_ONCE(msk->remote_key),
                              READ_ONCE(msk->local_key),
@@ -899,7 +895,7 @@ create_child:
                                goto dispose_child;
                        }
 
-                       if (!subflow_hmac_valid(req, &mp_opt)) {
+                       if (!subflow_hmac_valid(subflow_req, &mp_opt)) {
                                SUBFLOW_REQ_INC_STATS(req, MPTCP_MIB_JOINACKMAC);
                                subflow_add_reset_reason(skb, MPTCP_RST_EPROHIBIT);
                                goto dispose_child;