openvswitch: return NF_DROP when fails to add nat ext in ovs_ct_nat
authorXin Long <lucien.xin@gmail.com>
Thu, 8 Dec 2022 16:56:10 +0000 (11:56 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Dec 2022 10:14:03 +0000 (10:14 +0000)
When it fails to allocate nat ext, the packet should be dropped, like
the memory allocation failures in other places in ovs_ct_nat().

This patch changes to return NF_DROP when fails to add nat ext before
doing NAT in ovs_ct_nat(), also it would keep consistent with tc
action ct' processing in tcf_ct_act_nat().

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/openvswitch/conntrack.c

index 5ea7427..58c9f0e 100644 (file)
@@ -821,7 +821,7 @@ static int ovs_ct_nat(struct net *net, struct sw_flow_key *key,
 
        /* Add NAT extension if not confirmed yet. */
        if (!nf_ct_is_confirmed(ct) && !nf_ct_nat_ext_add(ct))
-               return NF_ACCEPT;   /* Can't NAT. */
+               return NF_DROP;   /* Can't NAT. */
 
        /* Determine NAT type.
         * Check if the NAT type can be deduced from the tracked connection.