]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
netlink: Call cb->done from a worker thread
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 28 Nov 2016 11:22:12 +0000 (19:22 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 10 Dec 2016 18:09:39 +0000 (19:09 +0100)
commitf5dad3473d83e7b45eee4e9cc017a65b904cc38c
tree14b9d063d53dddd4196370a26fb33727f41209ac
parent360d6a23e79d68c570a9346c1ad07854d1abb434
netlink: Call cb->done from a worker thread

[ Upstream commit 707693c8a498697aa8db240b93eb76ec62e30892 ]

The cb->done interface expects to be called in process context.
This was broken by the netlink RCU conversion.  This patch fixes
it by adding a worker struct to make the cb->done call where
necessary.

Fixes: 21e4902aea80 ("netlink: Lockless lookup with RCU grace...")
Reported-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/netlink/af_netlink.c
net/netlink/af_netlink.h