]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commited387777efc49b6270991ecefdf452a71c15c8d7
treea2a8f4fa5c5237c7c27ce41e1c1537ee3e043ed8
parent9e5c52ab9fc6b93195633998bc4de25b01e131e5
parenta41d464dcedb6a788dc88513089f83fa5d4251fe
Merge branch 'ipv6_percpu_rt_deadlock'

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>