From: sashiko-bot@kernel.org
To: "Jérémy Jean" <Jeremy.Jean@oss.cyber.gouv.fr>
Cc: linux-rdma@vger.kernel.org
Subject: Re: [PATCH ipsec v2 2/7] xfrm: esp4: use the current sequence number for the IV
Date: Mon, 09 Nov 2026 14:27:10 +0000 [thread overview]
Message-ID: <sashiko-outbox-205095@kernel.org> (raw)
In-Reply-To: <20261108142652.1330952-3-Jeremy.Jean@oss.cyber.gouv.fr>
> When a GSO packet is split in software for IPv4 ESP,
> validate_xmit_xfrm() calls esp_xmit() for each segment. These
> segments have XFRM_GSO_SEGMENT set, but after the split, skb_is_gso()
> returns false for each skb, so each call increments xo->seq.low by one
> after writing the ESP sequence number.
>
> The low bits are saved in seq before the increment, but esp.seqno is
> set afterwards, using the saved low bits and the high bits from
> xo->seq.hi.
>
> When encryption is done in software with ESN enabled, the segment at
> (H, 0xffffffff) uses (H+1, 0xffffffff) to generate the AES-GCM IV
> because xo->seq.hi has already been incremented when the low bits
> wrapped. One full 32-bit cycle later, if the packet at
> (H+1, 0xffffffff) on the same SA is non-GSO, it generates the same IV.
>
> Move the assignment to esp.seqno before xo->seq is advanced. This
> saves H before the wrap increments xo->seq.hi to H+1, so the segment
> at (H, 0xffffffff) generates its IV from (H, 0xffffffff).
>
> Fixes: 4b549ccce941 ("xfrm: replay: Fix ESN wrap around for GSO")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jérémy Jean <Jeremy.Jean@oss.cyber.gouv.fr>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261108142652.1330952-1-Jeremy.Jean@oss.cyber.gouv.fr?part=2
next prev parent reply other threads:[~2026-11-09 14:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-08 14:26 [PATCH ipsec v2 0/7] xfrm: fix ESP IV generation and ESN authentication Jérémy Jean
2026-11-08 14:26 ` [PATCH ipsec v2 1/7] xfrm: esp6: use the current sequence number for the IV Jérémy Jean
2026-11-09 14:27 ` sashiko-bot
2026-11-12 10:14 ` Usman Malik
2026-11-08 14:26 ` [PATCH ipsec v2 2/7] xfrm: esp4: " Jérémy Jean
2026-11-09 14:27 ` sashiko-bot [this message]
2026-11-08 14:26 ` [PATCH ipsec v2 3/7] xfrm: esp: use the current sequence number for AAD and offload Jérémy Jean
2026-11-09 14:27 ` sashiko-bot
2026-11-09 15:08 ` netdev-bot+sashiko
2026-11-08 14:26 ` [PATCH ipsec v2 4/7] xfrm: prevent AES-GCM nonce reuse after early GSO Jérémy Jean
2026-11-09 14:27 ` sashiko-bot
2026-11-09 15:08 ` netdev-bot+sashiko
2026-11-12 10:15 ` Usman Malik
2026-11-08 14:26 ` [PATCH ipsec v2 5/7] net/mlx5e: Use the packet sequence number for the IPsec IV Jérémy Jean
2026-11-09 14:27 ` sashiko-bot
2026-11-12 12:03 ` Tariq Toukan
2026-11-08 14:26 ` [PATCH ipsec v2 6/7] xfrm: segment untrusted GSO packets before sequence allocation Jérémy Jean
2026-11-09 14:27 ` sashiko-bot
2026-11-09 15:08 ` netdev-bot+sashiko
2026-11-08 14:26 ` [PATCH ipsec v2 7/7] xfrm: leave the sequence counter unchanged on ESN overflow Jérémy Jean
2026-11-09 14:27 ` sashiko-bot
2026-11-08 14:32 ` [PATCH ipsec v2 0/7] xfrm: fix ESP IV generation and ESN authentication netdev-bot+sinfo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-205095@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Jeremy.Jean@oss.cyber.gouv.fr \
--cc=linux-rdma@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.