RE: [EXT] Re: [PATCH] [net:netfilter]: Keep conntrack reference until IPsecv6 policy checks are done

From: Madhu Koriginja
Date: Fri Mar 03 2023 - 04:53:31 EST


Hi Paolo,
I updated the patch with nf_reset_ct change (nf_reset() replaced with nf_reset_ct) to align with the latest kernel code.

Hi All,
I also want to push this change (with nf_reset) in 4.19 LTS kernel, please can you tell me how can I push to that version? Thanks in advance.

Hi Florian,
In patchv3 updated the subject line as you suggested.

Thanks & Regards,
Madhu K

-----Original Message-----
From: Paolo Abeni <pabeni@xxxxxxxxxx>
Sent: Thursday, March 2, 2023 7:58 PM
To: Madhu Koriginja <madhu.koriginja@xxxxxxx>; gerrit@xxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; kuznet@xxxxxxxxxxxxx; yoshfuji@xxxxxxxxxxxxxx; edumazet@xxxxxxxxxx; dccp@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Cc: Vani Namala <vani.namala@xxxxxxx>
Subject: [EXT] Re: [PATCH] [net:netfilter]: Keep conntrack reference until IPsecv6 policy checks are done

Caution: EXT Email

On Thu, 2023-03-02 at 16:53 +0530, Madhu Koriginja wrote:
> Keep the conntrack reference until policy checks have been performed
> for IPsec V6 NAT support. The reference needs to be dropped before a
> packet is queued to avoid having the conntrack module unloadable.
>
> Signed-off-by: Madhu Koriginja <madhu.koriginja@xxxxxxx>
> V1-V2: added missing () in ip6_input.c in below condition
> if (!(ipprot->flags & INET6_PROTO_NOPOLICY))
> ---
> net/dccp/ipv6.c | 1 +
> net/ipv6/ip6_input.c | 14 +++++++-------
> net/ipv6/raw.c | 2 +-
> net/ipv6/tcp_ipv6.c | 2 ++
> net/ipv6/udp.c | 2 ++
> 5 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index
> 58a401e9cf09..eb503096db6c 100644
> --- a/net/dccp/ipv6.c
> +++ b/net/dccp/ipv6.c
> @@ -771,6 +771,7 @@ static int dccp_v6_rcv(struct sk_buff *skb)
>
> if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb))
> goto discard_and_relse;
> + nf_reset(skb);

nf_reset() is gone since commit 895b5c9f206e ("netfilter: drop bridge nf reset from nf_reset"), you should use instead nf_reset_ct(): in the current form the patch does not apply cleanly (nor build after manual edit).


Cheers,

Paolo