Re: [PATCH net-next 1/5] seg6: split final End process out of flavor processing
From: Hangbin Liu
Date: Thu Sep 24 2026 - 04:14:54 EST
On Wed, Sep 23, 2026 at 01:46:37PM +0200, Andrea Mayer wrote:
> > @@ -829,7 +830,10 @@ static int input_action_end(struct sk_buff *skb, struct seg6_local_lwt *slwt)
> > * information extracted from the packet, e.g. presence/absence of SRH,
> > * Segment Left = 0, etc.
> > */
> > - return end_flv8986_core(skb, slwt);
> > + ret = end_flv8986_core(skb, slwt);
> > + if (ret)
> > + return ret;
>
> A nit: a blank line before the final return would match the rest of
> the file.
OK
>
> > + return input_action_end_finish(skb, slwt);
> > }
>
> This changes the semantics of end_flv8986_core(): it no longer
> forwards the packet, it only processes it, and the caller does the
> finish step. Is it worth saying so in a comment above the function? A
> future caller that misses it would leak the skb.
I will add a comment for the function change.
>
> A heads-up: reviewing this made me notice that a fix I have pending
> for net touches these same lines. It makes the skb data writable
> before advance_nextseg() modifies Segments Left and the IPv6
> destination address, since today a clone sees the change.
> It also turns the "kfree_skb(skb); return -EINVAL;" right below into
> kfree_skb_reason(). Since it goes through net, this hunk may need a
> rebase once net is merged back into net-next.
Sure, I will do rebase once it merged to net-next.
Thanks
Hangbin