Revert "af_unix: Fix splice-bind deadlock"
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 Sep 2016 21:56:49 +0000 (14:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 Sep 2016 20:29:29 +0000 (13:29 -0700)
commit38f7bd94a97b542de86a2be9229289717e33a7a4
treed66b5037baec1e73674d20c179221f90ace84431
parent2f83a53a81f5695b0f13635d411cd78367e547d6
Revert "af_unix: Fix splice-bind deadlock"

This reverts commit c845acb324aa85a39650a14e7696982ceea75dc1.

It turns out that it just replaces one deadlock with another one: we can
still get the wrong lock ordering with the readlock due to overlayfs
calling back into the filesystem layer and still taking the vfs locks
after the readlock.

The proper solution ends up being to just split the readlock into two
pieces: the bind lock (taken *outside* the vfs locks) and the IO lock
(taken *inside* the filesystem locks).  The two locks are independent
anyway.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/unix/af_unix.c