Loading net/ipv6/proc.c +16 −24 Original line number Diff line number Diff line Loading @@ -247,12 +247,27 @@ static int ipv6_proc_init_net(struct net *net) if (!proc_net_fops_create(net, "sockstat6", S_IRUGO, &sockstat6_seq_fops)) return -ENOMEM; if (!proc_net_fops_create(net, "snmp6", S_IRUGO, &snmp6_seq_fops)) goto proc_snmp6_fail; net->mib.proc_net_devsnmp6 = proc_mkdir("dev_snmp6", net->proc_net); if (!net->mib.proc_net_devsnmp6) goto proc_dev_snmp6_fail; return 0; proc_snmp6_fail: proc_net_remove(net, "sockstat6"); proc_dev_snmp6_fail: proc_net_remove(net, "dev_snmp6"); return -ENOMEM; } static void ipv6_proc_exit_net(struct net *net) { proc_net_remove(net, "sockstat6"); proc_net_remove(net, "dev_snmp6"); proc_net_remove(net, "snmp6"); } static struct pernet_operations ipv6_proc_ops = { Loading @@ -262,34 +277,11 @@ static struct pernet_operations ipv6_proc_ops = { int __init ipv6_misc_proc_init(void) { int rc = 0; if (register_pernet_subsys(&ipv6_proc_ops)) goto proc_net_fail; if (!proc_net_fops_create(&init_net, "snmp6", S_IRUGO, &snmp6_seq_fops)) goto proc_snmp6_fail; init_net.mib.proc_net_devsnmp6 = proc_mkdir("dev_snmp6", init_net.proc_net); if (!init_net.mib.proc_net_devsnmp6) goto proc_dev_snmp6_fail; out: return rc; proc_dev_snmp6_fail: proc_net_remove(&init_net, "snmp6"); proc_snmp6_fail: unregister_pernet_subsys(&ipv6_proc_ops); proc_net_fail: rc = -ENOMEM; goto out; return register_pernet_subsys(&ipv6_proc_ops); } void ipv6_misc_proc_exit(void) { proc_net_remove(&init_net, "dev_snmp6"); proc_net_remove(&init_net, "snmp6"); unregister_pernet_subsys(&ipv6_proc_ops); } Loading
net/ipv6/proc.c +16 −24 Original line number Diff line number Diff line Loading @@ -247,12 +247,27 @@ static int ipv6_proc_init_net(struct net *net) if (!proc_net_fops_create(net, "sockstat6", S_IRUGO, &sockstat6_seq_fops)) return -ENOMEM; if (!proc_net_fops_create(net, "snmp6", S_IRUGO, &snmp6_seq_fops)) goto proc_snmp6_fail; net->mib.proc_net_devsnmp6 = proc_mkdir("dev_snmp6", net->proc_net); if (!net->mib.proc_net_devsnmp6) goto proc_dev_snmp6_fail; return 0; proc_snmp6_fail: proc_net_remove(net, "sockstat6"); proc_dev_snmp6_fail: proc_net_remove(net, "dev_snmp6"); return -ENOMEM; } static void ipv6_proc_exit_net(struct net *net) { proc_net_remove(net, "sockstat6"); proc_net_remove(net, "dev_snmp6"); proc_net_remove(net, "snmp6"); } static struct pernet_operations ipv6_proc_ops = { Loading @@ -262,34 +277,11 @@ static struct pernet_operations ipv6_proc_ops = { int __init ipv6_misc_proc_init(void) { int rc = 0; if (register_pernet_subsys(&ipv6_proc_ops)) goto proc_net_fail; if (!proc_net_fops_create(&init_net, "snmp6", S_IRUGO, &snmp6_seq_fops)) goto proc_snmp6_fail; init_net.mib.proc_net_devsnmp6 = proc_mkdir("dev_snmp6", init_net.proc_net); if (!init_net.mib.proc_net_devsnmp6) goto proc_dev_snmp6_fail; out: return rc; proc_dev_snmp6_fail: proc_net_remove(&init_net, "snmp6"); proc_snmp6_fail: unregister_pernet_subsys(&ipv6_proc_ops); proc_net_fail: rc = -ENOMEM; goto out; return register_pernet_subsys(&ipv6_proc_ops); } void ipv6_misc_proc_exit(void) { proc_net_remove(&init_net, "dev_snmp6"); proc_net_remove(&init_net, "snmp6"); unregister_pernet_subsys(&ipv6_proc_ops); }