]> www.infradead.org Git - users/hch/misc.git/commitdiff
mptcp: pm: add struct_group in mptcp_pm_data
authorGeliang Tang <tanggeliang@kylinos.cn>
Thu, 13 Mar 2025 10:20:54 +0000 (11:20 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 20 Mar 2025 09:14:48 +0000 (10:14 +0100)
This patch adds a "struct_group(reset, ...)" in struct mptcp_pm_data to
simplify the reset, and make sure we don't miss any.

Suggested-by: Matthieu Baerts <matttbe@kernel.org>
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250313-net-next-mptcp-pm-ops-intro-v1-5-f4e4a88efc50@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/mptcp/pm.c
net/mptcp/protocol.h

index af009661477b1743b11221c0d59b53cd89e6e791..85ee999729a1c37f42bb21490d7f68d186e6734f 100644 (file)
@@ -978,10 +978,7 @@ void mptcp_pm_data_reset(struct mptcp_sock *msk)
        u8 pm_type = mptcp_get_pm_type(sock_net((struct sock *)msk));
        struct mptcp_pm_data *pm = &msk->pm;
 
-       pm->add_addr_signaled = 0;
-       pm->add_addr_accepted = 0;
-       pm->local_addr_used = 0;
-       pm->subflows = 0;
+       memset(&pm->reset, 0, sizeof(pm->reset));
        pm->rm_list_tx.nr = 0;
        pm->rm_list_rx.nr = 0;
        WRITE_ONCE(pm->pm_type, pm_type);
@@ -1002,15 +999,7 @@ void mptcp_pm_data_reset(struct mptcp_sock *msk)
                WRITE_ONCE(pm->accept_subflow, subflows_allowed);
 
                bitmap_fill(pm->id_avail_bitmap, MPTCP_PM_MAX_ADDR_ID + 1);
-       } else {
-               WRITE_ONCE(pm->work_pending, 0);
-               WRITE_ONCE(pm->accept_addr, 0);
-               WRITE_ONCE(pm->accept_subflow, 0);
        }
-
-       WRITE_ONCE(pm->addr_signal, 0);
-       WRITE_ONCE(pm->remote_deny_join_id0, false);
-       pm->status = 0;
 }
 
 void mptcp_pm_data_init(struct mptcp_sock *msk)
index ffb70fe08181815c23629354f78e3bdbe599e703..15e2a03025ecb4cae44ccb700fcbbdd06ab806d1 100644 (file)
@@ -223,6 +223,8 @@ struct mptcp_pm_data {
 
        spinlock_t      lock;           /*protects the whole PM data */
 
+       struct_group(reset,
+
        u8              addr_signal;
        bool            server_side;
        bool            work_pending;
@@ -235,6 +237,9 @@ struct mptcp_pm_data {
        u8              pm_type;
        u8              subflows;
        u8              status;
+
+       );
+
        DECLARE_BITMAP(id_avail_bitmap, MPTCP_PM_MAX_ADDR_ID + 1);
        struct mptcp_rm_list rm_list_tx;
        struct mptcp_rm_list rm_list_rx;