[PATCH 0/9] pull request (net): ipsec 2026-05-27
From: Steffen Klassert <steffen.klassert@secunet.com>
Date: 2026-05-27 08:42:10
1) xfrm: route MIGRATE notifications to caller's netns
Thread the caller's netns through km_migrate() so that
MIGRATE notifications go to the issuing netns, fixing both the
init_net listener leak and MOBIKE notifications inside
non-init netns. From Maoyi Xie.
2) xfrm: ipcomp: Free destination pages on acomp errors
Move the out_free_req label up so that allocated destination
pages are released on decompression errors, not only on success.
From Herbert Xu.
3) xfrm: Check for underflow in xfrm_state_mtu
Reject configurations that cause xfrm_state_mtu() to underflow,
preventing a negative TFCPAD value from becoming a memset size
that triggers an out-of-bounds write of several terabytes.
From David Ahern.
4) xfrm: ah: use skb_to_full_sk in async output callbacks
Convert the possibly-incomplete skb->sk to a full socket pointer
in async AH callbacks so that a request_sock or timewait_sock
never reaches xfrm_output_resume() downstream consumers.
From Michael Bommarito.
5) esp: fix page frag reference leak on skb_to_sgvec failure
When the destination scatterlist build fails after old frags were
already captured into the source sg, release those old page
references before jumping to error_free to avoid leaking pages.
From Alessandro Schino.
6) xfrm: esp: restore combined single-frag length gate
Check the aligned post-trailer combined length against a page limit
in the fast path, preventing skb_page_frag_refill() from falling
back to a page too small for the destination scatterlist.
From Jingguo Tan.
7) xfrm: iptfs: reset runtime state when cloning SAs
Reinitialise the clone's mode_data runtime objects before
publishing it, preventing queued skbs from being freed with
list state copied from the original SA when migration fails.
From Shaomin Chen.
8) xfrm: move policy_bydst RCU sync from per-netns .exit to .pre_exit
Flush policy tables and drain the workqueue in a .pre_exit handler
so that cleanup_net() pays one RCU grace period per batch instead
of one per namespace, fixing stalls at high CLONE_NEWNET rates.
From Usama Arif.
9) xfrm: input: hold netns during deferred transport reinjection
Take a netns reference when queueing deferred transport reinjection
work and drop it after the callback completes, keeping the skb->cb
net pointer valid until the deferred work runs.
From Zhengchuan Liang.
Please pull or let me know if there are problems.
Thanks!
The following changes since commit b266bacba796ff5c4dcd2ae2fc08aacf7ab39153:
net: ethernet: cortina: Drop half-assembled SKB (2026-05-06 18:43:41 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec.git tags/ipsec-2026-05-27
for you to fetch changes up to c16f74dc1d75d0e2e7670076d5375deda110ebeb:
xfrm: input: hold netns during deferred transport reinjection (2026-05-26 10:35:30 +0200)
----------------------------------------------------------------
ipsec-2026-05-27
----------------------------------------------------------------
David Ahern (1):
xfrm: Check for underflow in xfrm_state_mtu
Herbert Xu (1):
xfrm: ipcomp: Free destination pages on acomp errors
Jingguo Tan (1):
xfrm: esp: restore combined single-frag length gate
Maoyi Xie (1):
xfrm: route MIGRATE notifications to caller's netns
Michael Bommarito (1):
xfrm: ah: use skb_to_full_sk in async output callbacks
Shaomin Chen (1):
xfrm: iptfs: reset runtime state when cloning SAs
Usama Arif (1):
xfrm: move policy_bydst RCU sync from per-netns .exit to .pre_exit
Zhengchuan Liang (1):
xfrm: input: hold netns during deferred transport reinjection
e521588 (1):
esp: fix page frag reference leak on skb_to_sgvec failure
include/net/xfrm.h | 3 ++-
net/ipv4/ah4.c | 2 +-
net/ipv4/esp4.c | 16 +++++++++-------
net/ipv6/ah6.c | 2 +-
net/ipv6/esp6.c | 16 +++++++++-------
net/key/af_key.c | 6 +++---
net/xfrm/xfrm_input.c | 16 ++++++++++++----
net/xfrm/xfrm_ipcomp.c | 12 ++++++++----
net/xfrm/xfrm_iptfs.c | 28 +++++++++++++++++++++++-----
net/xfrm/xfrm_policy.c | 17 +++++++++--------
net/xfrm/xfrm_state.c | 23 ++++++++++++++++++-----
net/xfrm/xfrm_user.c | 5 ++---
12 files changed, 97 insertions(+), 49 deletions(-)