sunrpc: don't call sleeping functions from the notifier block callbacks
authorScott Mayhew <smayhew@redhat.com>
Thu, 5 Jan 2017 21:34:51 +0000 (16:34 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 12 Jan 2017 20:56:40 +0000 (15:56 -0500)
commit546125d1614264d26080817d0c8cddb9b25081fa
treeee7ffd8b1b320378fa7ffa37a1dc5fd38595a33d
parent78794d1890708cf94e3961261e52dcec2cc34722
sunrpc: don't call sleeping functions from the notifier block callbacks

The inet6addr_chain is an atomic notifier chain, so we can't call
anything that might sleep (like lock_sock)... instead of closing the
socket from svc_age_temp_xprts_now (which is called by the notifier
function), just have the rpc service threads do it instead.

Cc: stable@vger.kernel.org
Fixes: c3d4879e01be "sunrpc: Add a function to close..."
Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
include/linux/sunrpc/svc_xprt.h
net/sunrpc/svc_xprt.c