]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/bridge/netfilter/ebtable_broute.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6-omap-h63xx.git] / net / bridge / netfilter / ebtable_broute.c
index e44519ebf1d22b7054232a7ec6da86e6cff2461f..246626bb0c879db5f62786b53c992d48e939f188 100644 (file)
@@ -46,7 +46,7 @@ static struct ebt_table broute_table =
        .name           = "broute",
        .table          = &initial_table,
        .valid_hooks    = 1 << NF_BR_BROUTING,
-       .lock           = RW_LOCK_UNLOCKED,
+       .lock           = __RW_LOCK_UNLOCKED(broute_table.lock),
        .check          = check,
        .me             = THIS_MODULE,
 };
@@ -70,13 +70,13 @@ static int __init ebtable_broute_init(void)
        if (ret < 0)
                return ret;
        /* see br_input.c */
-       br_should_route_hook = ebt_broute;
+       rcu_assign_pointer(br_should_route_hook, ebt_broute);
        return ret;
 }
 
 static void __exit ebtable_broute_fini(void)
 {
-       br_should_route_hook = NULL;
+       rcu_assign_pointer(br_should_route_hook, NULL);
        synchronize_net();
        ebt_unregister_table(&broute_table);
 }