diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2012-06-22 17:12:19 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-25 15:11:58 -0400 |
commit | 4661e3568a7d14a93d4e428d246cdb86f4bac6e7 (patch) | |
tree | 1804bac9d31e9332e1960630de960e224ec9218f | |
parent | eb3979f64d25120d60b9e761a4c58f70b1a02f86 (diff) |
printk: fix regression in SYSLOG_ACTION_CLEAR
Commit 7ff9554bb578ba02166071d2d487b7fc7d860d62 (printk: convert
byte-buffer to variable-length record buffer) introduced a regression
by accidentally removing a "break" statement from inside the big
switch in printk's do_syslog(). The symptom of this bug is that the
"dmesg -C" command doesn't only clear the kernel's log buffer; it also
disables console logging.
This patch (as1561) fixes the regression by adding the missing
"break".
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: Kay Sievers <kay@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | kernel/printk.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/printk.c b/kernel/printk.c index a2276b916769..d6a1412f6b09 100644 --- a/kernel/printk.c +++ b/kernel/printk.c | |||
@@ -1040,6 +1040,7 @@ int do_syslog(int type, char __user *buf, int len, bool from_file) | |||
1040 | /* Clear ring buffer */ | 1040 | /* Clear ring buffer */ |
1041 | case SYSLOG_ACTION_CLEAR: | 1041 | case SYSLOG_ACTION_CLEAR: |
1042 | syslog_print_all(NULL, 0, true); | 1042 | syslog_print_all(NULL, 0, true); |
1043 | break; | ||
1043 | /* Disable logging to console */ | 1044 | /* Disable logging to console */ |
1044 | case SYSLOG_ACTION_CONSOLE_OFF: | 1045 | case SYSLOG_ACTION_CONSOLE_OFF: |
1045 | if (saved_console_loglevel == -1) | 1046 | if (saved_console_loglevel == -1) |