[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170102213214.13707.86757.stgit@localhost.localdomain>
Date: Mon, 02 Jan 2017 13:32:54 -0800
From: Alexander Duyck <alexander.duyck@...il.com>
To: netdev@...r.kernel.org, jjk@...cky.com, davem@...emloft.net,
dsa@...ulusnetworks.com
Subject: [net PATCH] ipv4: Do not allow MAIN to be alias for new LOCAL w/
custom rules
From: Alexander Duyck <alexander.h.duyck@...el.com>
In the case of custom rules being present we need to handle the case of the
LOCAL table being intialized after the new rule has been added. To address
that I am adding a new check so that we can make certain we don't use an
alias of MAIN for LOCAL when allocating a new table.
Fixes: 0ddcf43d5d4a ("ipv4: FIB Local/MAIN table collapse")
Reported-by: Oliver Brunel <jjk@...cky.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@...el.com>
---
net/ipv4/fib_frontend.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index 3ff8938893ec..eae0332b0e8c 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -85,7 +85,7 @@ struct fib_table *fib_new_table(struct net *net, u32 id)
if (tb)
return tb;
- if (id == RT_TABLE_LOCAL)
+ if (id == RT_TABLE_LOCAL && !net->ipv4.fib_has_custom_rules)
alias = fib_new_table(net, RT_TABLE_MAIN);
tb = fib_trie_table(id, alias);
Powered by blists - more mailing lists