Messages in this thread | | | Date | Sun, 25 May 1997 23:10:07 +0800 (SST) | From | Chan Kok Kong <> | Subject | Re: linux-kernel-digest V1 #695 |
| |
At 06:58 PM 01/11/97 -0500, you wrote: > >diff -uNr linux-2.1.20-virgin/arch/i386/config.in linux/arch/i386/config.in >- --- linux-2.1.20-virgin/arch/i386/config.in Thu Dec 12 21:26:01 1996 >+++ linux/arch/i386/config.in Thu Jan 9 19:37:38 1997 >@@ -32,6 +32,7 @@ > fi > bool 'MCA support' CONFIG_MCA > bool 'System V IPC' CONFIG_SYSVIPC >+bool 'Sysctl support' CONFIG_SYSCTL > tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT > tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF > if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then >diff -uNr linux-2.1.20-virgin/arch/i386/defconfig linux/arch/i386/defconfig >- --- linux-2.1.20-virgin/arch/i386/defconfig Thu Jan 2 19:24:07 1997 >+++ linux/arch/i386/defconfig Thu Jan 9 19:37:53 1997 >@@ -23,6 +23,7 @@ > CONFIG_PCI=y > # CONFIG_MCA is not set > CONFIG_SYSVIPC=y >+CONFIG_SYSCTL=y > CONFIG_BINFMT_AOUT=y > CONFIG_BINFMT_ELF=y > # CONFIG_M386 is not set >diff -uNr linux-2.1.20-virgin/arch/m68k/config.in linux/arch/m68k/config.in >- --- linux-2.1.20-virgin/arch/m68k/config.in Tue Dec 17 16:07:29 1996 >+++ linux/arch/m68k/config.in Thu Jan 9 19:39:13 1997 >@@ -49,6 +49,7 @@ > > bool 'Networking support' CONFIG_NET > bool 'System V IPC' CONFIG_SYSVIPC >+bool 'Sysctl support' CONFIG_SYSCTL > tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT > tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF > if [ "$CONFIG_AMIGA" = "y" ]; then >diff -uNr linux-2.1.20-virgin/arch/m68k/defconfig linux/arch/m68k/defconfig >- --- linux-2.1.20-virgin/arch/m68k/defconfig Tue Dec 17 16:07:29 1996 >+++ linux/arch/m68k/defconfig Thu Jan 9 19:39:30 1997 >@@ -38,6 +38,7 @@ > # > CONFIG_NET=y > CONFIG_SYSVIPC=y >+CONFIG_SYSCTL=y > CONFIG_BINFMT_AOUT=y > CONFIG_BINFMT_ELF=y > CONFIG_ZORRO=y >diff -uNr linux-2.1.20-virgin/arch/mips/config.in linux/arch/mips/config.in >- --- linux-2.1.20-virgin/arch/mips/config.in Sun May 5 02:05:58 1996 >+++ linux/arch/mips/config.in Thu Jan 9 19:39:59 1997 >@@ -50,6 +50,7 @@ > # fi > #fi > bool 'System V IPC' CONFIG_SYSVIPC >+bool 'Sysctl support' CONFIG_SYSCTL > endmenu > > mainmenu_option next_comment >diff -uNr linux-2.1.20-virgin/arch/mips/defconfig linux/arch/mips/defconfig >- --- linux-2.1.20-virgin/arch/mips/defconfig Wed Feb 7 22:41:50 1996 >+++ linux/arch/mips/defconfig Thu Jan 9 19:40:35 1997 >@@ -26,6 +26,7 @@ > CONFIG_CPU_LITTLE_ENDIAN=y > # CONFIG_NET is not set > # CONFIG_SYSVIPC is not set >+CONFIG_SYSCTL=y > > # > # Loadable module support >diff -uNr linux-2.1.20-virgin/arch/ppc/config.in linux/arch/ppc/config.in >- --- linux-2.1.20-virgin/arch/ppc/config.in Mon May 27 05:00:57 1996 >+++ linux/arch/ppc/config.in Thu Jan 9 19:40:59 1997 >@@ -31,6 +31,7 @@ > fi > fi > bool 'System V IPC' CONFIG_SYSVIPC >+bool 'Sysctl support' CONFIG_SYSCTL > tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT > tristate 'Kernel support for JAVA binaries' CONFIG_BINFMT_JAVA > tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF >diff -uNr linux-2.1.20-virgin/arch/sparc/config.in linux/arch/sparc/config.in >- --- linux-2.1.20-virgin/arch/sparc/config.in Tue Dec 17 16:07:31 1996 >+++ linux/arch/sparc/config.in Thu Jan 9 19:41:30 1997 >@@ -46,6 +46,7 @@ > tristate 'Openprom tree appears in /proc/openprom (EXPERIMENTAL)' CONFIG_SUN_OPENPROMFS > bool 'Networking support' CONFIG_NET > bool 'System V IPC' CONFIG_SYSVIPC >+bool 'Sysctl support' CONFIG_SYSCTL > tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT > tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF > if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then >diff -uNr linux-2.1.20-virgin/arch/sparc/defconfig linux/arch/sparc/defconfig >- --- linux-2.1.20-virgin/arch/sparc/defconfig Tue Dec 31 22:14:55 1996 >+++ linux/arch/sparc/defconfig Thu Jan 9 19:41:52 1997 >@@ -53,6 +53,7 @@ > CONFIG_SUN_OPENPROMFS=m > CONFIG_NET=y > CONFIG_SYSVIPC=y >+CONFIG_SYSCTL=y > CONFIG_BINFMT_AOUT=y > CONFIG_BINFMT_ELF=y > CONFIG_BINFMT_JAVA=m >diff -uNr linux-2.1.20-virgin/arch/sparc64/config.in linux/arch/sparc64/config.in >- --- linux-2.1.20-virgin/arch/sparc64/config.in Tue Dec 31 22:14:57 1996 >+++ linux/arch/sparc64/config.in Thu Jan 9 19:42:19 1997 >@@ -46,6 +46,7 @@ > tristate 'Openprom tree appears in /proc/openprom (EXPERIMENTAL)' CONFIG_SUN_OPENPROMFS > bool 'Networking support' CONFIG_NET > bool 'System V IPC' CONFIG_SYSVIPC >+bool 'Sysctl support' CONFIG_SYSCTL > tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT > tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF > if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then >diff -uNr linux-2.1.20-virgin/arch/sparc64/defconfig linux/arch/sparc64/defconfig >- --- linux-2.1.20-virgin/arch/sparc64/defconfig Tue Dec 31 22:14:57 1996 >+++ linux/arch/sparc64/defconfig Thu Jan 9 19:42:34 1997 >@@ -51,6 +51,7 @@ > CONFIG_SUN_OPENPROMFS=y > CONFIG_NET=y > CONFIG_SYSVIPC=y >+CONFIG_SYSCTL=y > CONFIG_BINFMT_AOUT=y > CONFIG_BINFMT_ELF=y > CONFIG_BINFMT_JAVA=y >diff -uNr linux-2.1.20-virgin/fs/proc/root.c linux/fs/proc/root.c >- --- linux-2.1.20-virgin/fs/proc/root.c Tue Dec 17 16:07:48 1996 >+++ linux/fs/proc/root.c Thu Jan 9 22:51:19 1997 >@@ -152,6 +152,7 @@ > }; > #endif > >+#ifdef CONFIG_SYSCTL > struct proc_dir_entry proc_sys_root = { > PROC_SYS, 3, "sys", /* inode, name */ > S_IFDIR | S_IRUGO | S_IXUGO, 2, 0, 0, /* mode, nlink, uid, gid */ >@@ -160,6 +161,7 @@ > NULL, /* next */ > NULL, NULL /* parent, subdir */ > }; >+#endif > > #if defined(CONFIG_SUN_OPENPROMFS) || defined(CONFIG_SUN_OPENPROMFS_MODULE) > >@@ -538,7 +540,9 @@ > proc_register(&proc_root, &proc_root_self); > proc_register(&proc_root, &proc_net); > proc_register(&proc_root, &proc_scsi); >+#ifdef CONFIG_SYSCTL > proc_register(&proc_root, &proc_sys_root); >+#endif > #ifdef CONFIG_MCA > proc_register(&proc_root, &proc_mca); > #endif >diff -uNr linux-2.1.20-virgin/include/linux/sysctl.h linux/include/linux/sysctl.h >- --- linux-2.1.20-virgin/include/linux/sysctl.h Fri Dec 13 21:05:34 1996 >+++ linux/include/linux/sysctl.h Fri Jan 10 09:22:48 1997 >@@ -62,13 +62,19 @@ > #define KERN_JAVA_INTERPRETER 19 /* path to Java(tm) interpreter */ > #define KERN_JAVA_APPLETVIEWER 20 /* path to Java(tm) appletviewer */ > #define KERN_SPARC_REBOOT 21 /* reboot command on Sparc */ >+#define KERN_CONLOGLVL 22 /* int: console log level */ >+#define KERN_MINCONLOG 23 /* int: minimum console log level */ >+#define KERN_DEFCONLOG 24 /* int: default console log level */ >+#define KERN_DEFMSGLOG 25 /* int: default message log level */ >+#define KERN_CTLALTDEL 26 /* int: allow ctrl-alt-del to reboot */ > > /* CTL_VM names: */ > #define VM_SWAPCTL 1 /* struct: Set vm swapping control */ > #define VM_KSWAPD 2 /* struct: control background pageout */ > #define VM_FREEPG 3 /* struct: Set free page thresholds */ > #define VM_BDFLUSH 4 /* struct: Control buffer cache flushing */ >- -#define VM_MAXID 5 >+#define VM_SWAPOUT 5 /* int: Pageout scan interval */ >+#define VM_MAXID 6 > > /* CTL_NET names: */ > #define NET_CORE 1 >@@ -176,7 +182,7 @@ > #ifdef __KERNEL__ > > extern asmlinkage int sys_sysctl(struct __sysctl_args *); >- -extern void init_sysctl(void); >+extern void sysctl_init(void); > > typedef struct ctl_table ctl_table; > >diff -uNr linux-2.1.20-virgin/init/main.c linux/init/main.c >- --- linux-2.1.20-virgin/init/main.c Thu Jan 2 19:24:19 1997 >+++ linux/init/main.c Thu Jan 9 23:19:13 1997 >@@ -898,7 +898,9 @@ > #ifdef __SMP__ > smp_init(); > #endif >+#ifdef CONFIG_SYSCTL > sysctl_init(); >+#endif > /* > * We count on the initial thread going ok > * Like idlers init is an unlocked kernel thread, which will >diff -uNr linux-2.1.20-virgin/kernel/printk.c linux/kernel/printk.c >- --- linux-2.1.20-virgin/kernel/printk.c Tue Dec 17 16:07:52 1996 >+++ linux/kernel/printk.c Wed Jan 8 20:43:12 1997 >@@ -9,6 +9,7 @@ > * to the console. Added hook for sending the console messages > * elsewhere, in preparation for a serial line console (someday). > * Ted Ts'o, 2/11/93. >+ * Added sysctl support, 1/8/97, Chris Horn. > */ > > #include <stdarg.h> >@@ -41,6 +42,12 @@ > struct wait_queue * log_wait = NULL; > int console_loglevel = DEFAULT_CONSOLE_LOGLEVEL; > >+/* For sysctl support... */ >+int default_message_loglevel = DEFAULT_MESSAGE_LOGLEVEL; >+int minimum_console_loglevel = MINIMUM_CONSOLE_LOGLEVEL; >+int default_console_loglevel = DEFAULT_CONSOLE_LOGLEVEL; >+ >+ > static void (*console_print_proc)(const char *) = 0; > static char log_buf[LOG_BUF_LEN]; > static unsigned long log_start = 0; >@@ -131,16 +138,16 @@ > logged_chars = 0; > return 0; > case 6: /* Disable logging to console */ >- - console_loglevel = MINIMUM_CONSOLE_LOGLEVEL; >+ console_loglevel = minimum_console_loglevel; > return 0; > case 7: /* Enable logging to console */ >- - console_loglevel = DEFAULT_CONSOLE_LOGLEVEL; >+ console_loglevel = default_console_loglevel; > return 0; > case 8: > if (len < 1 || len > 8) > return -EINVAL; >- - if (len < MINIMUM_CONSOLE_LOGLEVEL) >- - len = MINIMUM_CONSOLE_LOGLEVEL; >+ if (len < minimum_console_loglevel) >+ len = minimum_console_loglevel; > console_loglevel = len; > return 0; > } >@@ -173,7 +180,7 @@ > ) { > p -= 3; > p[0] = '<'; >- - p[1] = DEFAULT_MESSAGE_LOGLEVEL + '0'; >+ p[1] = default_message_loglevel + '0'; > p[2] = '>'; > } else > msg += 3; >diff -uNr linux-2.1.20-virgin/kernel/sysctl.c linux/kernel/sysctl.c >- --- linux-2.1.20-virgin/kernel/sysctl.c Fri Dec 13 21:05:35 1996 >+++ linux/kernel/sysctl.c Fri Jan 10 09:22:24 1997 >@@ -7,6 +7,8 @@ > * Added hooks for /proc/sys/net (minor, minor patch), 96/4/1, Mike Shaver. > * Added kernel/java-{interpreter,appletviewer}, 96/5/10, Mike Shaver. > * Dynamic registration fixes, Stephen Tweedie. >+ * Added swapout-interval, ctrl-alt-del, printk logging stuff, 1/8/97, Chris Horn. >+ * Made sysctl support optional via CONFIG_SYSCTL, 1/10/97, Chris Horn. > */ > > #include <linux/config.h> >@@ -24,24 +26,40 @@ > #include <asm/bitops.h> > #include <asm/uaccess.h> > >+#ifdef CONFIG_ROOT_NFS >+#include <linux/nfs_fs.h> >+#endif >+ >+#ifdef CONFIG_SYSCTL >+ > /* External variables not in a header file. */ > extern int panic_timeout; >+extern int console_loglevel, default_message_loglevel; >+extern int minimum_console_loglevel, default_console_loglevel; >+extern int C_A_D, swapout_interval; >+extern int bdf_prm[], bdflush_min[], bdflush_max[]; >+extern char binfmt_java_interpreter[], binfmt_java_appletviewer[]; > >- - >- -#ifdef CONFIG_ROOT_NFS >- -#include <linux/nfs_fs.h> >+#ifdef __sparc__ >+extern char reboot_command []; > #endif > >- -static ctl_table root_table[]; >- -static struct ctl_table_header root_table_header = >- - {root_table, DNODE_SINGLE(&root_table_header)}; > > static int parse_table(int *, int, void *, size_t *, void *, size_t, > ctl_table *, void **); >+static int do_securelevel_strategy (ctl_table *, int *, int, void *, size_t *, >+ void *, size_t, void **); >+ >+ >+static ctl_table root_table[]; >+static struct ctl_table_header root_table_header = >+ {root_table, DNODE_SINGLE(&root_table_header)}; > > static ctl_table kern_table[]; > static ctl_table vm_table[]; > extern ctl_table net_table[]; >+static ctl_table dev_table[]; >+ > > /* /proc declarations: */ > >@@ -94,16 +112,6 @@ > static void unregister_proc_table(ctl_table *, struct proc_dir_entry *); > #endif > >- -extern int bdf_prm[], bdflush_min[], bdflush_max[]; >- - >- -static int do_securelevel_strategy (ctl_table *, int *, int, void *, size_t *, >- - void *, size_t, void **); >- - >- -extern char binfmt_java_interpreter[], binfmt_java_appletviewer[]; >- - >- -#ifdef __sparc__ >- -extern char reboot_command []; >- -#endif > > /* The default sysctl tables: */ > >@@ -111,6 +119,7 @@ > {CTL_KERN, "kernel", NULL, 0, 0555, kern_table}, > {CTL_VM, "vm", NULL, 0, 0555, vm_table}, > {CTL_NET, "net", NULL, 0, 0555, net_table}, >+ {CTL_DEV, "dev", NULL, 0, 0555, dev_table}, > {0} > }; > >@@ -157,6 +166,16 @@ > {KERN_SPARC_REBOOT, "reboot-cmd", reboot_command, > 256, 0644, NULL, &proc_dostring, &sysctl_string }, > #endif >+ {KERN_DEFMSGLOG, "def-message-level", &default_message_loglevel, sizeof(int), >+ 0644, NULL, &proc_dointvec}, >+ {KERN_MINCONLOG, "min-console-level", &minimum_console_loglevel, sizeof(int), >+ 0644, NULL, &proc_dointvec}, >+ {KERN_DEFCONLOG, "def-console-level", &default_console_loglevel, sizeof(int), >+ 0644, NULL, &proc_dointvec}, >+ {KERN_CONLOGLVL, "console-level", &console_loglevel, sizeof(int), >+ 0644, NULL, &proc_dointvec}, >+ {KERN_CTLALTDEL, "ctrl-alt-del", &C_A_D, sizeof(int), >+ 0644, NULL, &proc_dointvec}, > {0} > }; > >@@ -170,9 +189,17 @@ > {VM_BDFLUSH, "bdflush", &bdf_prm, 9*sizeof(int), 0600, NULL, > &proc_dointvec_minmax, &sysctl_intvec, NULL, > &bdflush_min, &bdflush_max}, >+ {VM_SWAPOUT, "swapout-interval", >+ &swapout_interval, sizeof(int), 0600, NULL, &proc_dointvec}, >+ {0} >+}; >+ >+static ctl_table dev_table[] = { > {0} > }; > >+ >+ > void sysctl_init(void) > { > #ifdef CONFIG_PROC_FS >@@ -927,4 +954,59 @@ > copy_from_user(data, newval, len); > return 0; > } >+ >+ >+#else /* CONFIG_SYSCTL */ >+ >+ >+extern asmlinkage int sys_sysctl(struct __sysctl_args *args) >+{ >+ return -ENOSYS; >+} >+ >+int sysctl_string(ctl_table *table, int *name, int nlen, >+ void *oldval, size_t *oldlenp, >+ void *newval, size_t newlen, void **context) >+{ >+ return -ENOSYS; >+} >+ >+int sysctl_intvec(ctl_table *table, int *name, int nlen, >+ void *oldval, size_t *oldlenp, >+ void *newval, size_t newlen, void **context) >+{ >+ return -ENOSYS; >+} >+ >+int proc_dostring(ctl_table *table, int write, struct file *filp, >+ void *buffer, size_t *lenp) >+{ >+ return -ENOSYS; >+} >+ >+int proc_dointvec(ctl_table *table, int write, struct file *filp, >+ void *buffer, size_t *lenp) >+{ >+ return -ENOSYS; >+} >+ >+int proc_dointvec_minmax(ctl_table *table, int write, struct file *filp, >+ void *buffer, size_t *lenp) >+{ >+ return -ENOSYS; >+} >+ >+struct ctl_table_header * register_sysctl_table(ctl_table * table, >+ int insert_at_head) >+{ >+ return 0; >+} >+ >+void unregister_sysctl_table(struct ctl_table_header * table) >+{ >+} >+ >+#endif /* CONFIG_SYSCTL */ >+ >+ > >diff -uNr linux-2.1.20-virgin/net/802/Makefile linux/net/802/Makefile >- --- linux-2.1.20-virgin/net/802/Makefile Thu Dec 12 21:26:18 1996 >+++ linux/net/802/Makefile Thu Jan 9 23:37:29 1997 >@@ -8,13 +8,15 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := 802.o >- -O_OBJS = p8023.o sysctl_net_802.o >+O_OBJS = p8023.o > > ifeq ($(CONFIG_LLC),y) > SUB_DIRS += transit > O_OBJS += llc_macinit.o llc_sendpdu.o llc_utility.o cl2llc.o >+endif > >- - >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_802.o > endif > > ifdef CONFIG_TR >diff -uNr linux-2.1.20-virgin/net/Makefile linux/net/Makefile >- --- linux-2.1.20-virgin/net/Makefile Thu Jan 2 19:24:20 1997 >+++ linux/net/Makefile Thu Jan 9 23:34:49 1997 >@@ -90,11 +90,15 @@ > endif > > L_TARGET := network.a >- -L_OBJS := socket.o protocols.o sysctl_net.o $(join $(SUB_DIRS),$(SUB_DIRS:%=/%.o)) >+L_OBJS := socket.o protocols.o $(join $(SUB_DIRS),$(SUB_DIRS:%=/%.o)) > ifeq ($(CONFIG_NET),y) > ifeq ($(CONFIG_MODULES),y) > LX_OBJS = netsyms.o > endif >+endif >+ >+ifeq ($(CONFIG_SYSCTL),y) >+L_OBJS += sysctl_net.o > endif > > M_OBJS := >diff -uNr linux-2.1.20-virgin/net/appletalk/Makefile linux/net/appletalk/Makefile >- --- linux-2.1.20-virgin/net/appletalk/Makefile Tue Apr 2 00:43:08 1996 >+++ linux/net/appletalk/Makefile Thu Jan 9 23:38:26 1997 >@@ -8,8 +8,12 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := appletalk.o >- -O_OBJS := aarp.o ddp.o sysctl_net_atalk.o >+O_OBJS := aarp.o ddp.o > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_atalk.o >+endif > > include $(TOPDIR)/Rules.make > >diff -uNr linux-2.1.20-virgin/net/ax25/Makefile linux/net/ax25/Makefile >- --- linux-2.1.20-virgin/net/ax25/Makefile Sun Nov 10 12:12:57 1996 >+++ linux/net/ax25/Makefile Thu Jan 9 23:39:37 1997 >@@ -9,8 +9,12 @@ > > > O_TARGET := ax25.o >- -O_OBJS := sysctl_net_ax25.o ax25_in.o ax25_out.o ax25_route.o ax25_subr.o ax25_timer.o >+O_OBJS := ax25_in.o ax25_out.o ax25_route.o ax25_subr.o ax25_timer.o > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_ax25.o >+endif > > OX_OBJS += af_ax25.o > >diff -uNr linux-2.1.20-virgin/net/ax25/af_ax25.c linux/net/ax25/af_ax25.c >- --- linux-2.1.20-virgin/net/ax25/af_ax25.c Thu Jan 2 19:24:20 1997 >+++ linux/net/ax25/af_ax25.c Thu Jan 9 23:42:21 1997 >@@ -2428,7 +2428,9 @@ > ax25_packet_type.type = htons(ETH_P_AX25); > dev_add_pack(&ax25_packet_type); > register_netdevice_notifier(&ax25_dev_notifier); >+#ifdef CONFIG_SYSCTL > ax25_register_sysctl(); >+#endif > > #ifdef CONFIG_PROC_FS > proc_net_register(&proc_ax25_route); >@@ -2603,8 +2605,9 @@ > #endif > ax25_rt_free(); > >+#ifdef CONFIG_SYSCTL > ax25_unregister_sysctl(); >- - >+#endif > unregister_netdevice_notifier(&ax25_dev_notifier); > > ax25_packet_type.type = htons(ETH_P_AX25); >diff -uNr linux-2.1.20-virgin/net/ax25/ax25_route.c linux/net/ax25/ax25_route.c >- --- linux-2.1.20-virgin/net/ax25/ax25_route.c Thu Jan 2 19:24:20 1997 >+++ linux/net/ax25/ax25_route.c Thu Jan 9 23:43:46 1997 >@@ -543,8 +543,9 @@ > return; > } > >+#ifdef CONFIG_SYSCTL > ax25_unregister_sysctl(); >- - >+#endif > sprintf(ax25_dev->name, "%s.parms", dev->name); > > ax25_dev->dev = dev; >@@ -565,20 +566,26 @@ > ax25_dev->values[AX25_VALUES_PACLEN] = AX25_DEF_PACLEN; > ax25_dev->values[AX25_VALUES_MAXQUEUE] = AX25_DEF_MAXQUEUE; > >+#ifdef CONFIG_SYSCTL > ax25_register_sysctl(); >+#endif > } > > void ax25_dev_device_down(struct device *dev) > { > int i; > >+#ifdef CONFIG_SYSCTL > ax25_unregister_sysctl(); >+#endif > > for (i = 0; i < AX25_MAX_DEVICES; i++) > if (ax25_device[i].dev != NULL && ax25_device[i].dev == dev) > ax25_device[i].dev = NULL; > >+#ifdef CONFIG_SYSCTL > ax25_register_sysctl(); >+#endif > } > > #ifdef MODULE >diff -uNr linux-2.1.20-virgin/net/bridge/Makefile linux/net/bridge/Makefile >- --- linux-2.1.20-virgin/net/bridge/Makefile Mon Jun 3 05:42:41 1996 >+++ linux/net/bridge/Makefile Thu Jan 9 23:44:53 1997 >@@ -8,8 +8,12 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := bridge.o >- -O_OBJS := br.o br_tree.o sysctl_net_bridge.o >+O_OBJS := br.o br_tree.o > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_bridge.o >+endif > > include $(TOPDIR)/Rules.make > >diff -uNr linux-2.1.20-virgin/net/core/Makefile linux/net/core/Makefile >- --- linux-2.1.20-virgin/net/core/Makefile Thu Dec 12 21:26:21 1996 >+++ linux/net/core/Makefile Thu Jan 9 23:46:04 1997 >@@ -9,8 +9,12 @@ > > O_TARGET := core.o > >- -O_OBJS := sock.o skbuff.o iovec.o datagram.o sysctl_net_core.o dst.o scm.o \ >+O_OBJS := sock.o skbuff.o iovec.o datagram.o dst.o scm.o \ > neighbour.o >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_core.o >+endif > > ifdef CONFIG_NET > >diff -uNr linux-2.1.20-virgin/net/ethernet/Makefile linux/net/ethernet/Makefile >- --- linux-2.1.20-virgin/net/ethernet/Makefile Tue Apr 2 00:43:08 1996 >+++ linux/net/ethernet/Makefile Thu Jan 9 23:47:01 1997 >@@ -9,7 +9,11 @@ > > O_TARGET := ethernet.o > >- -OBJS := eth.o sysctl_net_ether.o >+OBJS := eth.o >+ >+ifeq ($(CONFIG_SYSCTL),y) >+OBJS += sysctl_net_ether.o >+endif > > ifdef CONFIG_IPX > OBJ2 := pe2.o >diff -uNr linux-2.1.20-virgin/net/ipv4/sysctl_net_ipv4.c linux/net/ipv4/sysctl_net_ipv4.c >- --- linux-2.1.20-virgin/net/ipv4/sysctl_net_ipv4.c Thu Dec 12 21:26:25 1996 >+++ linux/net/ipv4/sysctl_net_ipv4.c Fri Jan 10 11:02:14 1997 >@@ -39,6 +39,9 @@ > void *buffer, size_t *lenp); > > struct ipv4_config ipv4_config = { 1, 1, 1, 1, }; >+ >+/* Should move ipv4_config out of here so this can be skipped altogether... */ >+#ifdef CONFIG_SYSCTL > struct ipv4_config ipv4_def_router_config = { 0, 1, 1, 1, 1, 1, 1, }; > struct ipv4_config ipv4_def_host_config = { 1, 1, 1, 1, }; > >@@ -121,3 +124,5 @@ > &proc_dointvec}, > {0} > }; >+ >+#endif /* CONFIG_SYSCTL */ >diff -uNr linux-2.1.20-virgin/net/ipv6/Makefile linux/net/ipv6/Makefile >- --- linux-2.1.20-virgin/net/ipv6/Makefile Thu Dec 12 21:24:44 1996 >+++ linux/net/ipv6/Makefile Thu Jan 9 23:50:18 1997 >@@ -11,9 +11,13 @@ > O_OBJS := af_inet6.o ipv6_output.o ipv6_input.o addrconf.o sit.o \ > ipv6_route.o ipv6_sockglue.o ndisc.o udp.o raw.o \ > protocol.o icmp.o mcast.o reassembly.o tcp_ipv6.o \ >- - exthdrs.o sysctl_net_ipv6.o datagram.o >+ exthdrs.o datagram.o > > MOD_LIST_NAME := IPV6_MODULES > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_ipv6.o >+endif > > include $(TOPDIR)/Rules.make >diff -uNr linux-2.1.20-virgin/net/ipv6/ipv6_sockglue.c linux/net/ipv6/ipv6_sockglue.c >- --- linux-2.1.20-virgin/net/ipv6/ipv6_sockglue.c Thu Dec 12 21:26:26 1996 >+++ linux/net/ipv6/ipv6_sockglue.c Thu Jan 9 23:52:48 1997 >@@ -252,7 +252,7 @@ > return 0; > } > >- -#ifdef MODULE >+#if defined(MODULE) && defined(CONFIG_SYSCTL) > > /* > * sysctl registration functions defined in sysctl_net_ipv6.c >@@ -268,7 +268,7 @@ > > dev_add_pack(&ipv6_packet_type); > >- -#ifdef MODULE >+#if defined(MODULE) && defined(CONFIG_SYSCTL) > ipv6_sysctl_register(); > #endif > >@@ -282,7 +282,9 @@ > { > unregister_netdevice_notifier(&ipv6_dev_notf); > dev_remove_pack(&ipv6_packet_type); >+#ifdef CONFIG_SYSCTL > ipv6_sysctl_unregister(); >+#endif > ipv6_route_cleanup(); > ndisc_cleanup(); > addrconf_cleanup(); >diff -uNr linux-2.1.20-virgin/net/ipx/Makefile linux/net/ipx/Makefile >- --- linux-2.1.20-virgin/net/ipx/Makefile Tue Apr 2 00:43:08 1996 >+++ linux/net/ipx/Makefile Thu Jan 9 23:53:40 1997 >@@ -8,8 +8,12 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := ipx.o >- -O_OBJS := af_ipx.o sysctl_net_ipx.o >+O_OBJS := af_ipx.o > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_ipx.o >+endif > > include $(TOPDIR)/Rules.make > >diff -uNr linux-2.1.20-virgin/net/netrom/Makefile linux/net/netrom/Makefile >- --- linux-2.1.20-virgin/net/netrom/Makefile Sun Nov 10 12:12:58 1996 >+++ linux/net/netrom/Makefile Fri Jan 10 00:00:43 1997 >@@ -8,8 +8,12 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := netrom.o >- -O_OBJS := af_netrom.o sysctl_net_netrom.o nr_dev.o nr_in.o nr_out.o nr_route.o nr_subr.o nr_timer.o >+O_OBJS := af_netrom.o nr_dev.o nr_in.o nr_out.o nr_route.o nr_subr.o nr_timer.o > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_netrom.o >+endif > > include $(TOPDIR)/Rules.make > >diff -uNr linux-2.1.20-virgin/net/netrom/af_netrom.c linux/net/netrom/af_netrom.c >- --- linux-2.1.20-virgin/net/netrom/af_netrom.c Thu Jan 2 19:24:25 1997 >+++ linux/net/netrom/af_netrom.c Fri Jan 10 00:02:19 1997 >@@ -1482,7 +1482,9 @@ > for (i = 0; i < 4; i++) > register_netdev(&dev_nr[i]); > >+#ifdef CONFIG_SYSCTL > nr_register_sysctl(); >+#endif > > #ifdef CONFIG_PROC_FS > proc_net_register(&proc_net_nr); >@@ -1517,8 +1519,9 @@ > > unregister_netdevice_notifier(&nr_dev_notifier); > >+#ifdef CONFIG_SYSCTL > nr_unregister_sysctl(); >- - >+#endif > sock_unregister(AF_NETROM); > > for (i = 0; i < 4; i++) { >diff -uNr linux-2.1.20-virgin/net/rose/Makefile linux/net/rose/Makefile >- --- linux-2.1.20-virgin/net/rose/Makefile Sun Nov 10 12:12:58 1996 >+++ linux/net/rose/Makefile Thu Jan 9 23:56:17 1997 >@@ -8,8 +8,12 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := rose.o >- -O_OBJS := af_rose.o sysctl_net_rose.o rose_dev.o rose_in.o rose_link.o rose_out.o rose_route.o rose_subr.o rose_timer.o >+O_OBJS := af_rose.o rose_dev.o rose_in.o rose_link.o rose_out.o rose_route.o rose_subr.o rose_timer.o > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_rose.o >+endif > > include $(TOPDIR)/Rules.make > >diff -uNr linux-2.1.20-virgin/net/rose/af_rose.c linux/net/rose/af_rose.c >- --- linux-2.1.20-virgin/net/rose/af_rose.c Thu Jan 2 19:24:25 1997 >+++ linux/net/rose/af_rose.c Thu Jan 9 23:58:02 1997 >@@ -1502,7 +1502,9 @@ > for (i = 0; i < 6; i++) > register_netdev(&dev_rose[i]); > >+#ifdef CONFIG_SYSCTL > rose_register_sysctl(); >+#endif > > #ifdef CONFIG_PROC_FS > proc_net_register(&proc_net_rose); >@@ -1537,8 +1539,9 @@ > ax25_protocol_release(AX25_P_ROSE); > ax25_linkfail_release(rose_link_failed); > >+#ifdef CONFIG_SYSCTL > rose_unregister_sysctl(); >- - >+#endif > unregister_netdevice_notifier(&rose_dev_notifier); > > sock_unregister(AF_ROSE); >diff -uNr linux-2.1.20-virgin/net/unix/Makefile linux/net/unix/Makefile >- --- linux-2.1.20-virgin/net/unix/Makefile Tue Apr 2 00:43:08 1996 >+++ linux/net/unix/Makefile Thu Jan 9 23:58:56 1997 >@@ -8,7 +8,11 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := unix.o >- -O_OBJS := af_unix.o garbage.o sysctl_net_unix.o >+O_OBJS := af_unix.o garbage.o >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_unix.o >+endif > > include $(TOPDIR)/Rules.make > >diff -uNr linux-2.1.20-virgin/net/x25/Makefile linux/net/x25/Makefile >- --- linux-2.1.20-virgin/net/x25/Makefile Fri Dec 13 21:05:39 1996 >+++ linux/net/x25/Makefile Thu Jan 9 23:59:58 1997 >@@ -8,8 +8,12 @@ > # Note 2! The CFLAGS definition is now in the main makefile... > > O_TARGET := x25.o >- -O_OBJS := af_x25.o sysctl_net_x25.o x25_dev.o x25_in.o x25_link.o x25_out.o x25_route.o x25_subr.o x25_timer.o >+O_OBJS := af_x25.o x25_dev.o x25_in.o x25_link.o x25_out.o x25_route.o x25_subr.o x25_timer.o > M_OBJS := $(O_TARGET) >+ >+ifeq ($(CONFIG_SYSCTL),y) >+O_OBJS += sysctl_net_x25.o >+endif > > include $(TOPDIR)/Rules.make > > >- --------------636C2E1E38A8649B3BAFD218-- > > >------------------------------ > >From: Richard A Sahlender Jr <rsahlen@voicenet.com> >Date: Sat, 11 Jan 1997 12:08:31 -0500 (EST) >Subject: Re: 3COM Etherlink XL (3C900) > >Miguel Armas del Rio said: >> >> I'm trying to install Linux in a machine with the EtherLink XL (3C900). >> Is there a driver for this type of ethercard? If there isn't, is someone >> working on it? >> > >There is. Have a look at http://cesdis.gsfc.nasa.gov/linux/drivers. >You want the boomerang driver. Works fine with my 3c905tx... > >Regards, >Rich > >------------------------------ > >From: root@lucretia (Aaron Tiensivu) >Date: Sat, 11 Jan 1997 12:58:48 -0500 >Subject: [2.1.20 BUG]: Strange log messages > >I wake up every morning to these on my screen: >This is on a fairly inactive box overnight, no incoming or outgoing ethernet >packets except for POP. > >lucretia:~# xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 >xmit_timer <= 0 - timer:8 when:0 > >Seems to be coming from net/ipv4/tcp_timers.c, and this might explain it: >Active Internet connections (including servers) >Proto Recv-Q Send-Q Local Address Foreign Address (State) >User >tcp 0 0 *:6000 *:* LISTEN >tcp 100 29657 lucretia:1364 mailserv1.ferris.:smtp CLOSE_WAIT >tcp 0 0 *:smtp *:* LISTEN >udp 0 0 *:syslog *:* >raw 0 0 *:1 *:* > >I think the mail might be stuck - the one to ferris. > >- -- >Which is worse: ignorance or apathy? Who knows? Who cares? >Life is sexually transmitted. >Yank my doodle, it's a dandy. >You can lead a horse to prune juice, but you wouldn't want him to drink it. > >------------------------------ > >From: DUPRE Christophe <duprec@JSP.UMontreal.CA> >Date: Sat, 11 Jan 1997 13:24:41 -0500 (EST) >Subject: BUG: Apache/Stronghold and Linux 2.0.X (fwd) > >Oh well, as some have pointed out, the included diff didn't get out, so >here's my message again, with the diff the causes me problems at the end. > >Sorry for the inconvenienve. > >Christophe Dupre Universite de Montreal >Montreal, Qc, Canada >"Nous ne sommes pas libres de ne pas etre libres, nous sommes obliges de >l'etre" - Fernando Savater > >- -----BEGIN GEEK CODE BLOCK----- >Version: 3.12 >GCS d- s:++ a-- C++(+++) UL++++$ UISV++ P+++ L+++ !E---- W+++$ N+ o? K w--- >O M- V-- PS+ PE+ Y+ PGP+ t+ 5++ X+ R+ tv+ b++ DI- D G+ e>++ h- r++ z+ >- ------END GEEK CODE BLOCK------ > >#include <disclaimer.h> > >- ---------- Forwarded message ---------- >Date: Fri, 10 Jan 1997 18:53:18 -0500 (EST) >From: DUPRE Christophe <duprec@jsp.umontreal.ca> >To: tuc@stormking.com >Cc: Linux Kernel <linux-kernel@vger.rutgers.edu>, linux-net@vger.rutgers.edu >Subject: BUG: Apache/Stronghold and Linux 2.0.X > >Many peoples have reported problems running Apache 1.1.1 (latest non-beta >version) and Stronghold 1.3.2 (latest non-beta version) under Linux 2.0.x. >I'm one of these persons, and I believe that Linux is the culprit. So I >experimented a bit, and here are my results. But first, the facts: > >Here's my primary server: >Pentium 133, with Intel 430FX >64 Megs RAM >Adaptec 2940 with 1gig Hard drive and tape backup >NE2000 compatible network card >IDE CDROM >Linux 2.0.0 > >And my development workstation: >PentiumPRO 200 >48 megs RAM >Adaptec 2940UW with 2 gigs Hard drive >Kingston network card (DEC 21041) >Linux 2.0.27 > >That's the starting configuration. Both works perfectly with Stronghold >1.3.2. > >Now, I wanted to upgrade the server to 2.0.27 to fix various security >problems (mostly the ping of death). After upgrading, stronghold gave >problems: The web browser would successfully pull the 4 first files for >each page then wait for a long time for the fifth then fail. My Netscape >is configured to open 4 simultaneous connections - I don't know if >there's a connection between those values as I haven't experimented. >So I decided to upgrade kernel by kernel to see where the problem arized. >I did not exactly try all the kernels between 2.0.0 and 2.0.27, but I did >a binary search, trying 2.0.0, then 2.0.14, then 2.0.20, then 2.0.24. >All of these worked, compiled with the same options. >Then 2.0.25 didn't work. So I applied manually all the diffs included in >patch-2.0.25 to see which one broke stronghold, and I found the one >included at the end of this message. Now since I'm no network guru, I >have no idea what to do now, except post this here... > >Please note the following : >- - Stronghold works with linux-2.0.27 on my workstation which is not so >dissimilar to my server, except the processing power, so this MAY be a >kind of race condition. >- - I have not tried 2.0.26 >- - both computers have the same compiler, libraries, etc... >- - The workstation runs X11, not the server >- - The problem shows up reliably, even just after bootup, with minimal load. > >I am willing to do some further testing if deemed appropriate by any >kernel guru. > >I hope this bug report is complete enough, please contact me if more info >is needed. > >- ----------------- >Included DIFF: >(I'm sure some carriage returns will be added by my editor - can't do >better right now...) > >diff -u --recursive --new-file v2.0.24/linux/net/ipv4/icmp.c >linux/net/ipv4/icmp.c >- --- v2.0.24/linux/net/ipv4/icmp.c Thu Oct 31 12:08:55 1996 >+++ linux/net/ipv4/icmp.c Wed Nov 6 14:39:47 1996 >@@ -38,6 +38,7 @@ > * path MTU bug. > * Thomas Quinot : ICMP Dest Unreach codes up to 15 are > * valid (RFC 1812). >+ * Alan Cox : Spoofing and junk icmp protections. > * > * > * RFC1122 (Host Requirements -- Comm. Layer) Status: >@@ -639,6 +640,7 @@ > int hash; > struct inet_protocol *ipprot; > unsigned char *dp; >+ int match_addr=0; > > iph = (struct iphdr *) (icmph + 1); > >@@ -655,8 +657,9 @@ > case ICMP_PROT_UNREACH: > /* printk(KERN_INFO "ICMP: %s:%d: protocol unreachable.\n", > in_ntoa(iph->daddr), (int)iph->protocol);*/ >- - break; >+ /* Drop through */ > case ICMP_PORT_UNREACH: >+ match_addr=1; > break; > case ICMP_FRAG_NEEDED: > #ifdef CONFIG_NO_PATH_MTU_DISCOVERY >@@ -747,42 +750,46 @@ > * RFC 1122: 3.2.2 MUST extract the protocol ID from the >passed header. > * RFC 1122: 3.2.2.1 MUST pass ICMP unreach messages to the >transport layer. > * RFC 1122: 3.2.2.2 MUST pass ICMP time expired messages to >transport layer. >- - */ >- - >- - /* >- - * Get the protocol(s). >- - */ >- - >- - hash = iph->protocol & (MAX_INET_PROTOS -1); >- - >- - /* >- - * This can't change while we are doing it. > * >- - * FIXME: Deliver to appropriate raw sockets too. >+ * Rule: Require port unreachable and protocol unreachable come >+ * from the host in question. Stop junk spoofs. > */ >- - >- - ipprot = (struct inet_protocol *) inet_protos[hash]; >- - while(ipprot != NULL) >- - { >- - struct inet_protocol *nextip; >- - >- - nextip = (struct inet_protocol *) ipprot->next; > >- - /* >- - * Pass it off to everyone who wants it. >+ if(!match_addr || saddr == iph->daddr) >+ { >+ /* >+ * Get the protocol(s). > */ >+ >+ hash = iph->protocol & (MAX_INET_PROTOS -1); > >- - /* RFC1122: OK. Passes appropriate ICMP errors to the */ >- - /* appropriate protocol layer (MUST), as per 3.2.2. */ >- - >- - if (iph->protocol == ipprot->protocol && >ipprot->err_handler) >+ /* >+ * This can't change while we are doing it. >+ */ >+ >+ ipprot = (struct inet_protocol *) inet_protos[hash]; >+ while(ipprot != NULL) > { >- - ipprot->err_handler(icmph->type, icmph->code, dp, >+ struct inet_protocol *nextip; >+ >+ nextip = (struct inet_protocol *) ipprot->next; >+ >+ /* >+ * Pass it off to everyone who wants it. >+ */ >+ >+ /* RFC1122: OK. Passes appropriate ICMP errors to >the */ >+ /* appropriate protocol layer (MUST), as per >3.2.2. */ >+ >+ if (iph->protocol == ipprot->protocol && >ipprot->err_handler) >+ { >+ ipprot->err_handler(icmph->type, >icmph->code, dp, > iph->daddr, iph->saddr, ipprot); >- - } >+ } > >- - ipprot = nextip; >- - } >+ ipprot = nextip; >+ } >+ } > kfree_skb(skb, FREE_READ); > } > > > >------------------------------ > >From: Jon Lewis <jlewis@inorganic5.fdt.net> >Date: Sat, 11 Jan 1997 13:27:17 -0500 (EST) >Subject: Re: How to force a kernel panic ? > >On Sat, 11 Jan 1997, Steffan Henke wrote: > >> I've just recently added the panic parameter to my lilo.conf and would >> like to try out if it works. Unfortunately (?), I haven't had a kernel >> panic for a while now. How can one be forced ? > >Setup a lilo entry to boot with a root=/dev/[some device you don't have] > > >- ------------------------------------------------------------------ > Jon Lewis <jlewis@fdt.net> | Unsolicited commercial e-mail will > Network Administrator | be proof-read for $199/hr. >________Finger jlewis@inorganic5.fdt.net for PGP public key_______ > > >------------------------------ > >From: "Kevin J. O'Carroll" <kocarroll@rsc.co.uk> >Date: Sat, 11 Jan 1997 19:18:27 +0000 >Subject: (no subject) > >Query linux-kernel-digest > >------------------------------ > >From: Steve Cahill <smc@Empire.Net> >Date: Sat, 11 Jan 1997 14:27:06 -0500 >Subject: copy zImage _from_ floppy to disk > >I seemed to have misplaced my zImage, but have it on the (simple) boot >floppy. > >How can one use 'dd' to copy the boot zImage from the floppy to disk? > >Thanks, > >- --Steve > >------------------------------ > >From: Jason Burrell <jburrell@crl.crl.com> >Date: Sat, 11 Jan 1997 13:30:36 -0600 (CST) >Subject: Re: How to force a kernel panic ? > >On Sat, 11 Jan 1997, Steffan Henke wrote: > >> >> Hi, >> >> I've just recently added the panic parameter to my lilo.conf and would >> like to try out if it works. Unfortunately (?), I haven't had a kernel >> panic for a while now. How can one be forced ? >> >> Regards, >> >> Steffan > >You could hack up the source for a module or something so that it calls >panic() when the module is inserted. I'm making the assumptions that >modules _have_ to have the ability to call a kernel panic. > >- -- >Good government. Good government. Sit. Stay. > > >------------------------------ > >From: "Andrew G. Morgan" <morgan@parc.power.net> >Date: Sat, 11 Jan 1997 12:32:14 -0800 (PST) >Subject: Re: signing a filesystem > >tytso@mit.edu wrote: >> More generally, I have to ask the question why are we trying to do >> cryptography at the filesystem level at all? What is your threat model? > >Cryptography (for confidentiality) seems like a service better suited to a >user level process: agreed. > >> Who are you trying to protect your data against? What sort of resources >> is your adversary going to have? > >The original suggestion was to be able to "sign" the filesystem, the threat >model was one of the following: > > user process finds a way to modify the filesystem independently of > the filesystem > > attacker shuts down the machine and boots a rogue kernel (OS) that > modifies the filesystem (replaces 'su' etc..) > > system crashes and administrator wishes to establish which files' > data was damaged > >> It is not at all clear to me that the filesystem is really the right >> place to be doing this sort of protection. Since the integrity >> protection and signing is taking place in the kernel (and the >> cryptographic keys have to present in the kernel at all times while it >> is running), this scheme doesn't protect you against someone who has >> managed to get superuser access. It only protects you against someone > >Currently, there is no form of protection against a superuser.. From our >discussions at USELINUX and the comments that Stephen Tweedie made, this is >likely to improve in the future. > >> who has physical access to your disk while the kernel isn't running. >> However, is this a threat model which is most people will commonly see? > >This is the sort of threat that a "public terminal" (universities/libraries >etc..) are subject to... > >Comments/thoughts? > >Andrew >- -- > Linux-PAM, libpwdb, Orange-Linux and Linux-GSS > http://parc.power.net/morgan/index.html > [ For those that prefer FTP --- ftp://ftp.lalug.org/morgan ] > >------------------------------ > >From: Alexandre Maret <amaret@infomaniak.ch> >Date: Sat, 11 Jan 1997 22:06:57 +0100 >Subject: Re: copy zImage _from_ floppy to disk > >Steve Cahill wrote: >> >> I seemed to have misplaced my zImage, but have it on the (simple) boot >> floppy. >> >> How can one use 'dd' to copy the boot zImage from the floppy to disk? > >dd if=/dev/fd0 of=/zImage bs=1024 count=450 > >This is assuming that the kernel image is smaller than >450k (simple assumption). This will create a file bigger >than needed, but will work. I think that you could find >out the exact size of the kernel, but I'd have to look >at the sources... > > alex > >- -- >\\-----------------------------------------------------------\\ >// Alexandre Maret -- Linux : The choice of a GNU generation // >\\ amaret@infomaniak.ch -- http://www.infomaniak.ch/~amaret \\ >//-----------------------------------------------------------// > >------------------------------ > >From: miquels@drinkel.cistron.nl (Miquel van Smoorenburg) >Date: 11 Jan 1997 20:14:36 +0100 >Subject: Re: nfs deadlock problem in kernel 2.0.27 ? > >In article <Pine.LNX.3.95.970111075859.11593C-100000@zen.via.ecp.fr>, >Michel LESPINASSE <walken@via.ecp.fr> wrote: >>I had a problem twice with the 2.0.27 kernel, I think this is a bug in the >>nfs filesystem code. >> >>When accessing remote filesystems, it sometimes happens that the reading >>process gets locked. I think that it is locked inside the kernel, because >>it is impossible to kill -9 it. > >That might also mean that the remote NFS server is not responding anymore. >That's how NFS works; if the server goes away everything hangs until it >comes back. > >>8:31 [root:2] Studio:~# lsof /mnt/debian >>COMMAND PID USER FD TYPE DEVICE SIZE/OFF INODE NAME >>zcat 2685 root 0r REG 0, 2 158525 556423252 >>/mnt/debian (bouddha:/debian) >> >>[the inode number seems much too big.... is this the reason for the bug >>or the consequence of it ?] > >Nope that's because it's NFS. > >>This nfs partition is mounted at boot-time with this entry in my fstab : >>bouddha:/debian /mnt/debian nfs defaults,nodev,noexec,nosuid,rsize=8192,ro > >Try adding the option "intr" > >Mike. >- -- >| Miquel van Smoorenburg | "Sticky tape is like the Force - it has a | >| miquels@drinkel.cistron.nl | dark side, it has a light side, and it | >| ----8<--------------8<---- | holds the universe together" - Carl Zwanig | > >------------------------------ > >From: Bryn Paul Arnold Jones <bpaj@gytha.demon.co.uk> >Date: Sat, 11 Jan 1997 23:15:43 +0000 (GMT) >Subject: Re: More cluuse, was: Re: Wierd IDE/Triton behavior > >On Sat, 11 Jan 1997, Uwe Bonnes wrote: > >> Hallo, >> >> could you please write a README how you did profiling on a kernel not >> compiled for profiling? I think, this can be usefull for others to, and >> could perhaps be added to the Linux-documentation directory. >> >> Bye >> >> Uwe Bonnes bon@elektron.ikp.physik.th-darmstadt.de > >You just need to add 'profile=2' to your kernel's command line. The "2" >is the default value, and the configure help sais this about it: > >This is used to adjust the granularity with which the addresses of >executed instructions get recorded in /proc/profile. But since you enabled >"Kernel profiling support", you must be a kernel hacker and hence you know >what this is about :-) > >Bryn >- -- >PGP key pass phrase forgotten, \ Overload -- core meltdown sequence >again :( and I don't care ;) | initiated. > / This space is intentionally left > | blank, apart from this text ;-) > \____________________________________ > > >------------------------------ > >From: Jennifer Lauren Carmack <jlc@mass-pc.wpi.edu> >Date: Sat, 11 Jan 1997 19:03:08 -0500 (EST) >Subject: module efficiency > >Hello, > > I was wondering if there is any difference in speed or efficiency >between compiled-in drivers and modular drivers. > >Thanks, >Jennifer > > > >------------------------------ > >End of linux-kernel-digest V1 #695 >********************************** > >To subscribe to linux-kernel-digest, send the command: > > subscribe linux-kernel-digest > >in the body of a message to "Majordomo@Majordomo.vger.rutgers.edu". If you want >to subscribe something other than the account the mail is coming from, >such as a local redistribution list, then append that address to the >"subscribe" command; for example, to subscribe "local-linux-kernel": > > subscribe linux-kernel-digest local-linux-kernel@your.domain.net > >A non-digest (direct mail) version of this list is also available; to >subscribe to that instead, replace all instances of "linux-kernel-digest" >in the commands above with "linux-kernel". > > Chan Jin Han 10 Kew Ave S (466305) Tel : 4429930 Pgr : 94913700
| |