diff options
author | Florian Westphal <fw@strlen.de> | 2017-08-31 13:45:24 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2017-09-08 18:55:26 +0200 |
commit | 75c2631468e8af554057246b2413e738dd96af3d (patch) | |
tree | c23d623edb5cfabb721363e88ace2005162c6f1a /net/netfilter/nf_nat_core.c | |
parent | 68913a018f6082f8f90abb8ff9114435ef45dff7 (diff) | |
download | linux-stable-75c2631468e8af554057246b2413e738dd96af3d.tar.gz linux-stable-75c2631468e8af554057246b2413e738dd96af3d.tar.bz2 linux-stable-75c2631468e8af554057246b2413e738dd96af3d.zip |
netfilter: nf_nat: don't bug when mapping already exists
It seems preferrable to limp along if we have a conflicting mapping,
its certainly better than a BUG().
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_nat_core.c')
-rw-r--r-- | net/netfilter/nf_nat_core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c index 40573aa6c133..dc3519cc7209 100644 --- a/net/netfilter/nf_nat_core.c +++ b/net/netfilter/nf_nat_core.c @@ -416,7 +416,9 @@ nf_nat_setup_info(struct nf_conn *ct, WARN_ON(maniptype != NF_NAT_MANIP_SRC && maniptype != NF_NAT_MANIP_DST); - BUG_ON(nf_nat_initialized(ct, maniptype)); + + if (WARN_ON(nf_nat_initialized(ct, maniptype))) + return NF_DROP; /* What we've got will look like inverse of reply. Normally * this is what is in the conntrack, except for prior |