X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=net%2Fsctp%2Fprotocol.c;fp=net%2Fsctp%2Fprotocol.c;h=23aaffb97ca31182018e4a64f45a0c3033dc4f32;hb=caea902f72b053fd0c76d0d3b6b2e057beb3fc64;hp=d6af466091d2ade2e79132979ce839247c39443e;hpb=0b4419162aa6c4204843f3a13b48d9ab821d3167;p=safe%2Fjmp%2Flinux-2.6 diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c index d6af466..23aaffb 100644 --- a/net/sctp/protocol.c +++ b/net/sctp/protocol.c @@ -108,16 +108,27 @@ static __init int sctp_proc_init(void) } if (sctp_snmp_proc_init()) - goto out_nomem; + goto out_snmp_proc_init; if (sctp_eps_proc_init()) - goto out_nomem; + goto out_eps_proc_init; if (sctp_assocs_proc_init()) - goto out_nomem; + goto out_assocs_proc_init; if (sctp_remaddr_proc_init()) - goto out_nomem; + goto out_remaddr_proc_init; return 0; +out_remaddr_proc_init: + sctp_remaddr_proc_exit(); +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: return -ENOMEM; }