Merge branch 'ipv6_percpu_rt_deadlock'
authorDavid S. Miller <davem@davemloft.net>
Mon, 17 Aug 2015 21:28:04 +0000 (14:28 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 17 Aug 2015 21:28:04 +0000 (14:28 -0700)
Martin KaFai Lau says:

====================
ipv6: Fix a potential deadlock when creating pcpu rt

v1 -> v2:
A minor change in the commit message of patch 2.

This patch series fixes a potential deadlock when creating a pcpu rt.
It happens when dst_alloc() decided to run gc. Something like this:

read_lock(&table->tb6_lock);
ip6_rt_pcpu_alloc()
=> dst_alloc()
=> ip6_dst_gc()
=> write_lock(&table->tb6_lock); /* oops */

Patch 1 and 2 are some prep works.
Patch 3 is the fix.

Original report: https://bugzilla.kernel.org/show_bug.cgi?id=102291
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

Trivial merge