linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ipv4: move proc stuff from net/ipv4/af_inet.c to net/ipv4/proc.c
@ 2002-10-29 13:42 acme
  2002-10-29 13:46 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: acme @ 2002-10-29 13:42 UTC (permalink / raw)
  To: davem; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 335 bytes --]

David,

     Please consider pulling from:

kernel.bkbits.net:/home/acme/net-2.5

     This is to just flush my tree, I have confirmed the crash when
using cat /proc/net/llc/core after psnap.o is loaded, will be fixing it,
have not confirmed the crash using cat /proc/net/arp, will try it again
in a different test case tho.

- Arnaldo

[-- Attachment #2: ip.patch --]
[-- Type: application/octet-stream, Size: 7103 bytes --]

You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


ChangeSet@1.821, 2002-10-29 10:31:48-03:00, acme@conectiva.com.br
  ipv4: move proc stuff from net/ipv4/af_inet.c to net/ipv4/proc.c
  
  Also make compilation of this misc proc stuff not compile/link if
  CONFIG_PROC_FS is not set. Now to seq_file this routines.


 include/net/ip_fib.h |    1 +
 net/ipv4/Makefile    |    3 ++-
 net/ipv4/af_inet.c   |   29 +++++------------------------
 net/ipv4/fib_hash.c  |   12 ++++++++++++
 net/ipv4/proc.c      |   32 ++++++++++++++++++++++++++++++++
 5 files changed, 52 insertions(+), 25 deletions(-)


diff -Nru a/include/net/ip_fib.h b/include/net/ip_fib.h
--- a/include/net/ip_fib.h	Tue Oct 29 10:33:45 2002
+++ b/include/net/ip_fib.h	Tue Oct 29 10:33:45 2002
@@ -277,5 +277,6 @@
 }
 
 extern int fib_proc_init(void);
+extern void fib_proc_exit(void);
 
 #endif  /* _NET_FIB_H */
diff -Nru a/net/ipv4/Makefile b/net/ipv4/Makefile
--- a/net/ipv4/Makefile	Tue Oct 29 10:33:45 2002
+++ b/net/ipv4/Makefile	Tue Oct 29 10:33:45 2002
@@ -2,13 +2,14 @@
 # Makefile for the Linux TCP/IP (INET) layer.
 #
 
-obj-y     := utils.o route.o inetpeer.o proc.o protocol.o \
+obj-y     := utils.o route.o inetpeer.o protocol.o \
 	     ip_input.o ip_fragment.o ip_forward.o ip_options.o \
 	     ip_output.o ip_sockglue.o \
 	     tcp.o tcp_input.o tcp_output.o tcp_timer.o tcp_ipv4.o tcp_minisocks.o \
 	     tcp_diag.o raw.o udp.o arp.o icmp.o devinet.o af_inet.o igmp.o \
 	     sysctl_net_ipv4.o fib_frontend.o fib_semantics.o fib_hash.o
 
+obj-$(CONFIG_PROC_FS) += proc.o
 obj-$(CONFIG_IP_MULTIPLE_TABLES) += fib_rules.o
 obj-$(CONFIG_IP_ROUTE_NAT) += ip_nat_dumb.o
 obj-$(CONFIG_IP_MROUTE) += ipmr.o
diff -Nru a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
--- a/net/ipv4/af_inet.c	Tue Oct 29 10:33:45 2002
+++ b/net/ipv4/af_inet.c	Tue Oct 29 10:33:45 2002
@@ -1155,12 +1155,9 @@
 
 #ifdef CONFIG_PROC_FS
 
+extern int ip_misc_proc_init(void);
 extern int raw_get_info(char *, char **, off_t, int);
-extern int snmp_get_info(char *, char **, off_t, int);
-extern int netstat_get_info(char *, char **, off_t, int);
-extern int afinet_get_info(char *, char **, off_t, int);
 extern int tcp_get_info(char *, char **, off_t, int);
-extern int udp_get_info(char *, char **, off_t, int);
 
 int __init ipv4_proc_init(void)
 {
@@ -1168,45 +1165,29 @@
 
 	if (!proc_net_create("raw", 0, raw_get_info))
 		goto out_raw;
-	if (!proc_net_create("netstat", 0, netstat_get_info))
-		goto out_netstat;
-	if (!proc_net_create("snmp", 0, snmp_get_info))
-		goto out_snmp;
-	if (!proc_net_create("sockstat", 0, afinet_get_info))
-		goto out_sockstat;
 	if (!proc_net_create("tcp", 0, tcp_get_info))
 		goto out_tcp;
 	if (udp_proc_init())
 		goto out_udp;
 	if (fib_proc_init())
 		goto out_fib;
+	if (ip_misc_proc_init())
+		goto out_misc;
 out:
 	return rc;
+out_misc:
+	fib_proc_exit();
 out_fib:
 	udp_proc_exit();
 out_udp:
 	proc_net_remove("tcp");
 out_tcp:
-	proc_net_remove("sockstat");
-out_sockstat:
-	proc_net_remove("snmp");
-out_snmp:
-	proc_net_remove("netstat");
-out_netstat:
 	proc_net_remove("raw");
 out_raw:
 	rc = -ENOMEM;
 	goto out;
 }
 
-int ip_seq_release(struct inode *inode, struct file *file)
-{
-	struct seq_file *seq = (struct seq_file *)file->private_data;
-
-	kfree(seq->private);
-	seq->private = NULL;
-	return seq_release(inode, file);
-}
 #else /* CONFIG_PROC_FS */
 int __init ipv4_proc_init(void)
 {
diff -Nru a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c
--- a/net/ipv4/fib_hash.c	Tue Oct 29 10:33:45 2002
+++ b/net/ipv4/fib_hash.c	Tue Oct 29 10:33:45 2002
@@ -1086,8 +1086,20 @@
 		rc = -ENOMEM;
 	return rc;
 }
+
+void __init fib_proc_exit(void)
+{
+	remove_proc_entry("route", proc_net);
+}
+
 #else /* CONFIG_PROC_FS */
+
 int __init fib_proc_init(void)
+{
+	return 0;
+}
+
+void __init fib_proc_exit(void)
 {
 	return 0;
 }
diff -Nru a/net/ipv4/proc.c b/net/ipv4/proc.c
--- a/net/ipv4/proc.c	Tue Oct 29 10:33:45 2002
+++ b/net/ipv4/proc.c	Tue Oct 29 10:33:45 2002
@@ -47,6 +47,8 @@
 #include <net/tcp.h>
 #include <net/udp.h>
 #include <linux/skbuff.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
 #include <net/sock.h>
 #include <net/raw.h>
 
@@ -211,4 +213,34 @@
 	if (len < 0)
 		len = 0; 
 	return len;
+}
+
+int __init ip_misc_proc_init(void)
+{
+	int rc = 0;
+
+	if (!proc_net_create("netstat", 0, netstat_get_info))
+		goto out_netstat;
+	if (!proc_net_create("snmp", 0, snmp_get_info))
+		goto out_snmp;
+	if (!proc_net_create("sockstat", 0, afinet_get_info))
+		goto out_sockstat;
+out:
+	return rc;
+out_sockstat:
+	proc_net_remove("snmp");
+out_snmp:
+	proc_net_remove("netstat");
+out_netstat:
+	rc = -ENOMEM;
+	goto out;
+}
+
+int ip_seq_release(struct inode *inode, struct file *file)
+{
+	struct seq_file *seq = (struct seq_file *)file->private_data;
+
+	kfree(seq->private);
+	seq->private = NULL;
+	return seq_release(inode, file);
 }

===================================================================


This BitKeeper patch contains the following changesets:
1.821
## Wrapped with gzip_uu ##


begin 664 bkpatch13737
M'XL(`#F.OCT``^U8;7/:.!#^C'Z%KKT/I"U&+[:1X>BD35\NTS;)I--OF6&,
M+0<W8%%;T&:.^^^WDAU>0AP*<Q\##)*UTNK1[K.KA>?X6R'S;B.,)A(]QW^K
M0G<;D<IDI--YZ$1JX@QS$%PJ!8+V2$UD^^VG=B9UBSD>`LE%J*,1GLN\Z#:H
MPY<C^G8JNXW+]Q^_?7YSB5"_CT]&878MOTJ-^WVD53X/QW%Q'.K16&6.SL.L
MF$AM]UPLIRX8(0S>'NUPXOD+ZA.WLXAH3&GH4AD3Y@K?1;>J&"6S[^GQ.,UF
MOUKI=.X[*K^^IX?";$H\PH(%\T7`T3M,'<$H)JQ-29L%F)(NIUU7M`CO$H*-
M58[O6P._]'"+H+?X_SW""8HPX':[>*+F$D]S%>%"SY($)[F:8+!XVXC;83)(
MX<&)8/_5J)GN1*`"/F_&A<*3\$9BP#%-QZ%.5895@O4H+?`D+:)U[9G2U3S9
M!NO=X#0!'2?G9Q]./PXN+L]/!A^^8EAGYA6P+SY3/\W6A?PQ2&!1J357,PVP
M"@=]PF!;T4$7*W^CUIXOA$A(T.L=%DZS:#R+9;LT`H`9.J-U8P>N6!`_<+U%
MQQ>)B!/A<^;&PZ#&L?4*@3@!Y9PPMG`9$=Y.:/?\LH'*$PON^IU@(0.?\:B3
M\(`((OBP!M5#NM8`>4)X]/<!P:$&H[`8;8-RO0#8.4P"EG0D$Y)'U/.\7:#N
MZ5L#QGSJ[V&I+T!8PZ?[L)A'A;L0-/8D'P:"<I8(-]H%:T/;&BB?>SSX?5#+
M8-M&!4B`5S3V/3]@0^Y&)!*[4&VJ6V>5"\>T2?(A#N[.EX>'`MH_%`CQ"7'Y
M@HO`%S:'^IL9E'09>SR#TJ<,^E@&+9/,.6[E/^T',N+%@\PX(+.>L@YX"<E?
M6N89GJLTQB:&S7D&\E>JFV;HJ&?)N!5.NYEX8#S7T+`VGBEQ:8>(A4\%ZU@.
M!OMRD.$6?>)@+0?+3'F/@UO^.("`[SR@WZGY4L/OK5ML7MT^AIW'A:,L!@FM
M,<]4RARZ<$ZM(C6&[A4ZI;1:^F=S\WQ'^&7?VL11F^Q=&?OWZ;MGYD=Q.)>3
MXVRF"R<#^X<.+'XD\0-_7<:A$O`YI9:_G.Q+8"A#F?O$X/HL:B_5.@8O\1^2
M0RGU.JLDFF8:3#8P)RKS:)JM\N@[F!M@;EJ?PQIH.Q3[1H=@F*%&FN#F]NJC
M(]1H7`/O,9S("GMVB0M+[D:ZJ+&9NLOMH+[UH05?8[$9"*MB;8](V+=BW)7*
MMRO&NX*">M3C!Q84[*FB>/PWF2G&ZV)AY9*#@H$(`8R[0K:8&%C^/E13H']0
M(Y?&DI4DT_EM\YE-^,]>V?,/`!*0^%]T9=6:0L7V@-)>N5S/(.!(.677?AO<
M+[VQ!^_W^>F&BFBD9);DQ]=A*'.=P;T5RX=U!9P0X!PD?T("2BS?O7WYSI_X
M_BC?RU_%=7ROD![`=3>`_/N\*L7Q7_;O)JMND!3.Z/66Z`ZAD9TRRC$GEKKF
MRJB86W-S&+J;63EPUA#^JKPI_K@+DT&4RU#+YC/H%SK4$$'D%:X>!M<P(<T2
MM7F-5-)>G:HBFTQ+/:97H\2(ZC6HZ&:%)DP,3>KT5%-[YC[K+F,[C^S`4@R2
MY2YE]JAP'E7SH/_0G#NS5-.J1[./,6CK_=GYE_=?X!QW>'I+OX!#C-MR.99A
M(9N%SF<1C&8*W/K"-F"?<M"2[X7YMOZJ1I>T?`$]V*RY-7YDFM;K:0XQK>4@
M#G5H/7R3Y!)VE#^6,H#?6'\&=6??/G_N+>VU#K4"9_'T5G_.1B,)MIQ-^FX<
/>\/A,$'_`22`$,GW%0``
`
end

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] ipv4: move proc stuff from net/ipv4/af_inet.c to net/ipv4/proc.c
  2002-10-29 13:42 [PATCH] ipv4: move proc stuff from net/ipv4/af_inet.c to net/ipv4/proc.c acme
@ 2002-10-29 13:46 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2002-10-29 13:46 UTC (permalink / raw)
  To: acme; +Cc: linux-kernel

   From: acme@conectiva.com.br
   Date: Tue, 29 Oct 2002 11:42:07 -0200 (BRDT)

        Please consider pulling from:
   
   kernel.bkbits.net:/home/acme/net-2.5
   
Pulled, thanks.

I just did a push to Linus, so this will go show up in the next round.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-10-29 13:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-29 13:42 [PATCH] ipv4: move proc stuff from net/ipv4/af_inet.c to net/ipv4/proc.c acme
2002-10-29 13:46 ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).