]> Pileus Git - ~andy/linux/blobdiff - net/netfilter/ipvs/ip_vs_dh.c
Merge tag 'cleanup-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / net / netfilter / ipvs / ip_vs_dh.c
index ebe80f44e712534b7afb4540602d008513f2ed91..ccab120df45e378dfe480e01f58e383f22277ac4 100644 (file)
@@ -174,7 +174,7 @@ static int ip_vs_dh_init_svc(struct ip_vs_service *svc)
 }
 
 
-static int ip_vs_dh_done_svc(struct ip_vs_service *svc)
+static void ip_vs_dh_done_svc(struct ip_vs_service *svc)
 {
        struct ip_vs_dh_state *s = svc->sched_data;
 
@@ -185,8 +185,6 @@ static int ip_vs_dh_done_svc(struct ip_vs_service *svc)
        kfree_rcu(s, rcu_head);
        IP_VS_DBG(6, "DH hash table (memory=%Zdbytes) released\n",
                  sizeof(struct ip_vs_dh_bucket)*IP_VS_DH_TAB_SIZE);
-
-       return 0;
 }
 
 
@@ -271,6 +269,7 @@ static int __init ip_vs_dh_init(void)
 static void __exit ip_vs_dh_cleanup(void)
 {
        unregister_ip_vs_scheduler(&ip_vs_dh_scheduler);
+       synchronize_rcu();
 }