|
@@ -108,14 +108,23 @@ static __init int sctp_proc_init(void)
|
|
}
|
|
}
|
|
|
|
|
|
if (sctp_snmp_proc_init())
|
|
if (sctp_snmp_proc_init())
|
|
- goto out_nomem;
|
|
|
|
|
|
+ goto out_snmp_proc_init;
|
|
if (sctp_eps_proc_init())
|
|
if (sctp_eps_proc_init())
|
|
- goto out_nomem;
|
|
|
|
|
|
+ goto out_eps_proc_init;
|
|
if (sctp_assocs_proc_init())
|
|
if (sctp_assocs_proc_init())
|
|
- goto out_nomem;
|
|
|
|
|
|
+ goto out_assocs_proc_init;
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
|
|
+out_assocs_proc_init:
|
|
|
|
+ sctp_eps_proc_exit();
|
|
|
|
+out_eps_proc_init:
|
|
|
|
+ sctp_snmp_proc_exit();
|
|
|
|
+out_snmp_proc_init:
|
|
|
|
+ if (proc_net_sctp) {
|
|
|
|
+ proc_net_sctp = NULL;
|
|
|
|
+ remove_proc_entry("sctp", init_net.proc_net);
|
|
|
|
+ }
|
|
out_nomem:
|
|
out_nomem:
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
}
|
|
}
|