[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9a5b60029d95a264b5fdeaba396200419b4f4bc3.1764061159.git.antony.antony@secunet.com>
Date: Tue, 25 Nov 2025 10:30:16 +0100
From: Antony Antony <antony.antony@...unet.com>
To: Steffen Klassert <steffen.klassert@...unet.com>, Herbert Xu
<herbert@...dor.apana.org.au>, <netdev@...r.kernel.org>
CC: "David S. Miller" <davem@...emloft.net>, Eric Dumazet
<edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, <devel@...ux-ipsec.org>
Subject: [PATCH RFC ipsec-next 4/5] xfrm: reqid is invarient in old migration
During the XFRM_MSG_MIGRATE the reqid remains invariant.
Signed-off-by: Antony Antony <antony.antony@...unet.com>
---
net/xfrm/xfrm_state.c | 2 +-
net/xfrm/xfrm_user.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 17c3de65fb00..91e0898c458f 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -2148,7 +2148,7 @@ struct xfrm_state *xfrm_state_migrate(struct xfrm_state *x,
/* add state */
if (xfrm_addr_equal(&x->id.daddr, &m->new_daddr, m->new_family) ||
- x->props.reqid != xc->props.reqid) {
+ x->props.reqid != xc->props.reqid) {
/* a care is needed when the destination address or the reqid
* of the state is to be updated as it is a part of triplet */
xfrm_state_insert(xc);
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index cc5c816f01ed..b14a11b74788 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -3098,6 +3098,7 @@ static int copy_from_user_migrate(struct xfrm_migrate *ma,
ma->proto = um->proto;
ma->mode = um->mode;
ma->old_reqid = um->reqid;
+ ma->new_reqid = um->reqid; /* reqid is invariant in XFRM_MSG_MIGRATE */
ma->old_family = um->old_family;
ma->new_family = um->new_family;
@@ -3285,7 +3286,7 @@ static int xfrm_do_migrate_state(struct sk_buff *skb, struct nlmsghdr *nlh,
xfrm_send_migrate_state(um, encap, xuo);
} else {
if (extack && !extack->_msg)
- NL_SET_ERR_MSG(extack, "State migration clone failed");
+ NL_SET_ERR_MSG(extack, "State migration clone failed");
err = -EINVAL;
}
} else {
--
2.39.5
Powered by blists - more mailing lists