From: Rusty Russell On failure from register_sysctl_table, we return with exit 0. Oops. init and fini should also be static. nfsim found these. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton --- 25-akpm/net/ipv4/netfilter/ip_conntrack_proto_sctp.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff -puN net/ipv4/netfilter/ip_conntrack_proto_sctp.c~netfilter-fix-ip_conntrack_proto_sctp-exit-on-sysctl net/ipv4/netfilter/ip_conntrack_proto_sctp.c --- 25/net/ipv4/netfilter/ip_conntrack_proto_sctp.c~netfilter-fix-ip_conntrack_proto_sctp-exit-on-sysctl 2004-12-31 03:56:00.126519760 -0800 +++ 25-akpm/net/ipv4/netfilter/ip_conntrack_proto_sctp.c 2004-12-31 03:56:00.131519000 -0800 @@ -609,7 +609,7 @@ static ctl_table ip_ct_net_table[] = { static struct ctl_table_header *ip_ct_sysctl_header; #endif -int __init init(void) +static int __init init(void) { int ret; @@ -622,6 +622,7 @@ int __init init(void) #ifdef CONFIG_SYSCTL ip_ct_sysctl_header = register_sysctl_table(ip_ct_net_table, 0); if (ip_ct_sysctl_header == NULL) { + ret = -ENOMEM; printk("ip_conntrack_proto_sctp: can't register to sysctl.\n"); goto cleanup; } @@ -639,7 +640,7 @@ int __init init(void) return ret; } -void __exit fini(void) +static void __exit fini(void) { ip_conntrack_protocol_unregister(&ip_conntrack_protocol_sctp); #ifdef CONFIG_SYSCTL _