Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61f0d861 authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller
Browse files

fib_trie: Fix uninitialized variable warning



The 0-day kernel test infrastructure reported a use of uninitialized
variable warning for local_table due to the fact that the local and main
allocations had been swapped from the original setup.  This change corrects
that by making it so that we free the main table if the local table
allocation fails.

Fixes: 0ddcf43d ("ipv4: FIB Local/MAIN table collapse")

Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6dede75b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -54,11 +54,11 @@ static int __net_init fib4_rules_init(struct net *net)

	main_table  = fib_trie_table(RT_TABLE_MAIN, NULL);
	if (main_table == NULL)
		goto fail;
		return -ENOMEM;

	local_table = fib_trie_table(RT_TABLE_LOCAL, main_table);
	if (local_table == NULL)
		return -ENOMEM;
		goto fail;

	hlist_add_head_rcu(&local_table->tb_hlist,
				&net->ipv4.fib_table_hash[TABLE_LOCAL_INDEX]);
@@ -67,7 +67,7 @@ static int __net_init fib4_rules_init(struct net *net)
	return 0;

fail:
	fib_free_table(local_table);
	fib_free_table(main_table);
	return -ENOMEM;
}
#else