mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
ipv4: Fix crashes in fib_rules_tclass().
All paths assume, when CONFIG_IP_MULTIPLE_TABLES is enabled, that any successful call to fib_lookup() will initialize the fib_result->r value to something. We violated that expectation in the new fib_lookup() fast path. Reported-by: Or Gerlitz <ogerlitz@mellanox.com> Tested-by: Eric Dumazet <eric.dumazet@gmail.com> Tested-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
061a5c316b
commit
e044a651b9
@ -230,6 +230,7 @@ static inline int fib_lookup(struct net *net, struct flowi4 *flp,
|
||||
struct fib_result *res)
|
||||
{
|
||||
if (!net->ipv4.fib_has_custom_rules) {
|
||||
res->r = NULL;
|
||||
if (net->ipv4.fib_local &&
|
||||
!fib_table_lookup(net->ipv4.fib_local, flp, res,
|
||||
FIB_LOOKUP_NOREF))
|
||||
|
Loading…
Reference in New Issue
Block a user