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

Commit 375216ad authored by Thomas Graf's avatar Thomas Graf Committed by David S. Miller
Browse files

[IPv6] fib: initialize tb6_lock in common place to give lockdep a key



Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 69c30147
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -169,7 +169,6 @@ static __inline__ void rt6_release(struct rt6_info *rt)


static struct fib6_table fib6_main_tbl = {
static struct fib6_table fib6_main_tbl = {
	.tb6_id		= RT6_TABLE_MAIN,
	.tb6_id		= RT6_TABLE_MAIN,
	.tb6_lock	= RW_LOCK_UNLOCKED,
	.tb6_root	= {
	.tb6_root	= {
		.leaf		= &ip6_null_entry,
		.leaf		= &ip6_null_entry,
		.fn_flags	= RTN_ROOT | RTN_TL_ROOT | RTN_RTINFO,
		.fn_flags	= RTN_ROOT | RTN_TL_ROOT | RTN_RTINFO,
@@ -187,6 +186,12 @@ static void fib6_link_table(struct fib6_table *tb)
{
{
	unsigned int h;
	unsigned int h;


	/*
	 * Initialize table lock at a single place to give lockdep a key,
	 * tables aren't visible prior to being linked to the list.
	 */
	rwlock_init(&tb->tb6_lock);

	h = tb->tb6_id & (FIB_TABLE_HASHSZ - 1);
	h = tb->tb6_id & (FIB_TABLE_HASHSZ - 1);


	/*
	/*
@@ -199,7 +204,6 @@ static void fib6_link_table(struct fib6_table *tb)
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
static struct fib6_table fib6_local_tbl = {
static struct fib6_table fib6_local_tbl = {
	.tb6_id		= RT6_TABLE_LOCAL,
	.tb6_id		= RT6_TABLE_LOCAL,
	.tb6_lock	= RW_LOCK_UNLOCKED,
	.tb6_root 	= {
	.tb6_root 	= {
		.leaf		= &ip6_null_entry,
		.leaf		= &ip6_null_entry,
		.fn_flags	= RTN_ROOT | RTN_TL_ROOT | RTN_RTINFO,
		.fn_flags	= RTN_ROOT | RTN_TL_ROOT | RTN_RTINFO,
@@ -213,7 +217,6 @@ static struct fib6_table *fib6_alloc_table(u32 id)
	table = kzalloc(sizeof(*table), GFP_ATOMIC);
	table = kzalloc(sizeof(*table), GFP_ATOMIC);
	if (table != NULL) {
	if (table != NULL) {
		table->tb6_id = id;
		table->tb6_id = id;
		table->tb6_lock = RW_LOCK_UNLOCKED;
		table->tb6_root.leaf = &ip6_null_entry;
		table->tb6_root.leaf = &ip6_null_entry;
		table->tb6_root.fn_flags = RTN_ROOT | RTN_TL_ROOT | RTN_RTINFO;
		table->tb6_root.fn_flags = RTN_ROOT | RTN_TL_ROOT | RTN_RTINFO;
	}
	}