Skip to content

Commit

Permalink
pstore: Move kmsg_bytes default into Kconfig
Browse files Browse the repository at this point in the history
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: Vasile-Laurentiu Stanimir <vasile-laurentiu.stanimir@windriver.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
  • Loading branch information
Vasile-Laurentiu Stanimir authored and Kees Cook committed Dec 1, 2020
1 parent b6f8ed3 commit 26fecbf
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 3 deletions.
8 changes: 8 additions & 0 deletions fs/pstore/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ config PSTORE
If you don't have a platform persistent store driver,
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
tristate "DEFLATE (ZLIB) compression"
default y
Expand Down
2 changes: 1 addition & 1 deletion fs/pstore/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ static void parse_options(char *options)
*/
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);
return 0;
}
Expand Down
1 change: 0 additions & 1 deletion fs/pstore/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
#include <linux/time.h>
#include <linux/pstore.h>

#define PSTORE_DEFAULT_KMSG_BYTES 10240
extern unsigned long kmsg_bytes;

#ifdef CONFIG_PSTORE_FTRACE
Expand Down
2 changes: 1 addition & 1 deletion fs/pstore/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ static char *big_oops_buf;
static size_t big_oops_buf_sz;

/* 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)
{
Expand Down

0 comments on commit 26fecbf

Please sign in to comment.