Commit 26fecbf7 authored by Vasile-Laurentiu Stanimir's avatar Vasile-Laurentiu Stanimir Committed by Kees Cook

pstore: Move kmsg_bytes default into Kconfig

While kmsg_bytes can be set for pstore via mount, if a crash occurs
before the mount only partial console log will be stored as kmsg_bytes
defaults to a potentially different hardcoded value in the kernel
(PSTORE_DEFAULT_KMSG_BYTES). This makes it impossible to analyze valuable
post-mortem data especially on the embedded development or in the process
of bringing up new boards. Change this value to be a Kconfig option
with the default of old PSTORE_DEFAULT_KMSG_BYTES
Signed-off-by: default avatarVasile-Laurentiu Stanimir <vasile-laurentiu.stanimir@windriver.com>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
parent b6f8ed33
...@@ -14,6 +14,14 @@ config PSTORE ...@@ -14,6 +14,14 @@ config PSTORE
If you don't have a platform persistent store driver, If you don't have a platform persistent store driver,
say N. say N.
config PSTORE_DEFAULT_KMSG_BYTES
int "Default kernel log storage space" if EXPERT
depends on PSTORE
default "10240"
help
Defines default size of pstore kernel log storage.
Can be enlarged if needed, not recommended to shrink it.
config PSTORE_DEFLATE_COMPRESS config PSTORE_DEFLATE_COMPRESS
tristate "DEFLATE (ZLIB) compression" tristate "DEFLATE (ZLIB) compression"
default y default y
......
...@@ -266,7 +266,7 @@ static void parse_options(char *options) ...@@ -266,7 +266,7 @@ static void parse_options(char *options)
*/ */
static int pstore_show_options(struct seq_file *m, struct dentry *root) static int pstore_show_options(struct seq_file *m, struct dentry *root)
{ {
if (kmsg_bytes != PSTORE_DEFAULT_KMSG_BYTES) if (kmsg_bytes != CONFIG_PSTORE_DEFAULT_KMSG_BYTES)
seq_printf(m, ",kmsg_bytes=%lu", kmsg_bytes); seq_printf(m, ",kmsg_bytes=%lu", kmsg_bytes);
return 0; return 0;
} }
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include <linux/time.h> #include <linux/time.h>
#include <linux/pstore.h> #include <linux/pstore.h>
#define PSTORE_DEFAULT_KMSG_BYTES 10240
extern unsigned long kmsg_bytes; extern unsigned long kmsg_bytes;
#ifdef CONFIG_PSTORE_FTRACE #ifdef CONFIG_PSTORE_FTRACE
......
...@@ -101,7 +101,7 @@ static char *big_oops_buf; ...@@ -101,7 +101,7 @@ static char *big_oops_buf;
static size_t big_oops_buf_sz; static size_t big_oops_buf_sz;
/* How much of the console log to snapshot */ /* How much of the console log to snapshot */
unsigned long kmsg_bytes = PSTORE_DEFAULT_KMSG_BYTES; unsigned long kmsg_bytes = CONFIG_PSTORE_DEFAULT_KMSG_BYTES;
void pstore_set_kmsg_bytes(int bytes) void pstore_set_kmsg_bytes(int bytes)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment