| To: | "David S. Miller" <davem@xxxxxxxxxx> |
|---|---|
| Subject: | [PATCH] decnet initialization race |
| From: | Stephen Hemminger <shemminger@xxxxxxxx> |
| Date: | Wed, 14 Jan 2004 16:40:45 -0800 |
| Cc: | netdev@xxxxxxxxxxx, Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxx> |
| In-reply-to: | <20040113163631.1a9c1a59.davem@redhat.com> |
| Organization: | Open Source Development Lab |
| References: | <20040113105843.0d1351cb.shemminger@osdl.org> <20040113163631.1a9c1a59.davem@redhat.com> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
Decnet exposes itself to proc and packets before it has finished initializing.
This was always a race, but the notifier replay might expose it worse.
diff -Nru a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c
--- a/net/decnet/af_decnet.c Wed Jan 14 16:27:05 2004
+++ b/net/decnet/af_decnet.c Wed Jan 14 16:27:05 2004
@@ -2363,17 +2363,16 @@
if (!dn_sk_cachep)
return -ENOMEM;
- sock_register(&dn_family_ops);
- dev_add_pack(&dn_dix_packet_type);
- register_netdevice_notifier(&dn_dev_notifier);
-
- proc_net_fops_create("decnet", S_IRUGO, &dn_socket_seq_fops);
-
dn_neigh_init();
dn_dev_init();
dn_route_init();
dn_fib_init();
+ sock_register(&dn_family_ops);
+ dev_add_pack(&dn_dix_packet_type);
+ register_netdevice_notifier(&dn_dev_notifier);
+
+ proc_net_fops_create("decnet", S_IRUGO, &dn_socket_seq_fops);
dn_register_sysctl();
return 0;
|
| Previous by Date: | Re: [PATCH] support for large number of network devices., Stephen Hemminger |
|---|---|
| Next by Date: | [PATH] atm/clip device discovery on init not needed, Stephen Hemminger |
| Previous by Thread: | Re: [PATCH] (1/5) replay netdev notifier events on registration, David S. Miller |
| Next by Thread: | Re: [PATCH] decnet initialization race, David S. Miller |
| Indexes: | [Date] [Thread] [Top] [All Lists] |