From e2b203107291901a0e5d7dd1f2870304b1d89503 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Mon, 16 Jun 2008 16:59:55 -0700 Subject: [PATCH] --- yaml --- r: 98220 b: refs/heads/master c: 80896a3584bbff9ff9ad4dde735517c4de68d736 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/sctp/protocol.c | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9ad1e2b68571..730163ea6424 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 93653e0448196344d7699ccad395eaebd30359d1 +refs/heads/master: 80896a3584bbff9ff9ad4dde735517c4de68d736 diff --git a/trunk/net/sctp/protocol.c b/trunk/net/sctp/protocol.c index b435a193c5df..9258dfe784ae 100644 --- a/trunk/net/sctp/protocol.c +++ b/trunk/net/sctp/protocol.c @@ -108,14 +108,23 @@ 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; 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: return -ENOMEM; }