diff options
author | Mike Galbraith <efault@gmx.de> | 2006-12-06 23:37:42 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-07 11:39:38 -0500 |
commit | c36264dfb2d6fa6383082de0a1bba8e12b477da1 (patch) | |
tree | 25efc8365544d12974f0633ad46f619bfbf087e1 | |
parent | 44ddc4f5673a62c9ecdbb7b502fe7b8206b0f945 (diff) |
[PATCH] remove the syslog interface when printk is disabled
Attempts to read() from the non-existent dmesg buffer will return zero and
userspace tends to get stuck in a busyloop.
So just remove /dev/kmsg altogether if CONFIG_PRINTK=n.
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | fs/proc/Makefile | 3 | ||||
-rw-r--r-- | fs/proc/proc_misc.c | 2 | ||||
-rw-r--r-- | kernel/printk.c | 7 |
3 files changed, 5 insertions, 7 deletions
diff --git a/fs/proc/Makefile b/fs/proc/Makefile index 7431d7ba2d09..f6c776272572 100644 --- a/fs/proc/Makefile +++ b/fs/proc/Makefile | |||
@@ -8,8 +8,9 @@ proc-y := nommu.o task_nommu.o | |||
8 | proc-$(CONFIG_MMU) := mmu.o task_mmu.o | 8 | proc-$(CONFIG_MMU) := mmu.o task_mmu.o |
9 | 9 | ||
10 | proc-y += inode.o root.o base.o generic.o array.o \ | 10 | proc-y += inode.o root.o base.o generic.o array.o \ |
11 | kmsg.o proc_tty.o proc_misc.o | 11 | proc_tty.o proc_misc.o |
12 | 12 | ||
13 | proc-$(CONFIG_PROC_KCORE) += kcore.o | 13 | proc-$(CONFIG_PROC_KCORE) += kcore.o |
14 | proc-$(CONFIG_PROC_VMCORE) += vmcore.o | 14 | proc-$(CONFIG_PROC_VMCORE) += vmcore.o |
15 | proc-$(CONFIG_PROC_DEVICETREE) += proc_devtree.o | 15 | proc-$(CONFIG_PROC_DEVICETREE) += proc_devtree.o |
16 | proc-$(CONFIG_PRINTK) += kmsg.o | ||
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index 93c43b676e59..51815cece6f3 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c | |||
@@ -696,9 +696,11 @@ void __init proc_misc_init(void) | |||
696 | proc_symlink("mounts", NULL, "self/mounts"); | 696 | proc_symlink("mounts", NULL, "self/mounts"); |
697 | 697 | ||
698 | /* And now for trickier ones */ | 698 | /* And now for trickier ones */ |
699 | #ifdef CONFIG_PRINTK | ||
699 | entry = create_proc_entry("kmsg", S_IRUSR, &proc_root); | 700 | entry = create_proc_entry("kmsg", S_IRUSR, &proc_root); |
700 | if (entry) | 701 | if (entry) |
701 | entry->proc_fops = &proc_kmsg_operations; | 702 | entry->proc_fops = &proc_kmsg_operations; |
703 | #endif | ||
702 | create_seq_entry("devices", 0, &proc_devinfo_operations); | 704 | create_seq_entry("devices", 0, &proc_devinfo_operations); |
703 | create_seq_entry("cpuinfo", 0, &proc_cpuinfo_operations); | 705 | create_seq_entry("cpuinfo", 0, &proc_cpuinfo_operations); |
704 | #ifdef CONFIG_BLOCK | 706 | #ifdef CONFIG_BLOCK |
diff --git a/kernel/printk.c b/kernel/printk.c index 66426552fbfe..ba59c2a30ed0 100644 --- a/kernel/printk.c +++ b/kernel/printk.c | |||
@@ -631,12 +631,7 @@ EXPORT_SYMBOL(vprintk); | |||
631 | 631 | ||
632 | asmlinkage long sys_syslog(int type, char __user *buf, int len) | 632 | asmlinkage long sys_syslog(int type, char __user *buf, int len) |
633 | { | 633 | { |
634 | return 0; | 634 | return -ENOSYS; |
635 | } | ||
636 | |||
637 | int do_syslog(int type, char __user *buf, int len) | ||
638 | { | ||
639 | return 0; | ||
640 | } | 635 | } |
641 | 636 | ||
642 | static void call_console_drivers(unsigned long start, unsigned long end) | 637 | static void call_console_drivers(unsigned long start, unsigned long end) |