diff options
author | Ursula Braun <ubraun@linux.ibm.com> | 2019-11-16 17:47:31 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-16 12:26:49 -0800 |
commit | 4ead9c96d528e1b9937382321910a2bf35fc1a86 (patch) | |
tree | 8ed94fbad32707f7216b6b744a4bc5a817dab5f9 /net/smc/af_smc.c | |
parent | a33a803cfe64309d330540ae4a8df17158bcb6ea (diff) | |
download | linux-4ead9c96d528e1b9937382321910a2bf35fc1a86.tar.bz2 |
net/smc: use rcu_barrier() on module unload
Add rcu_barrier() to make sure no RCU readers or callbacks are
pending when the module is unloaded.
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/af_smc.c')
-rw-r--r-- | net/smc/af_smc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c index 42b7fb8ab22b..cde4dc0ed173 100644 --- a/net/smc/af_smc.c +++ b/net/smc/af_smc.c @@ -25,6 +25,7 @@ #include <linux/in.h> #include <linux/sched/signal.h> #include <linux/if_vlan.h> +#include <linux/rcupdate_wait.h> #include <net/sock.h> #include <net/tcp.h> @@ -2111,6 +2112,7 @@ static void __exit smc_exit(void) proto_unregister(&smc_proto); smc_pnet_exit(); unregister_pernet_subsys(&smc_net_ops); + rcu_barrier(); } module_init(smc_init); |