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: Vasile-Laurentiu Stanimir <vasile-laurentiu.stanimir@windriver.com> Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
committed by
Kees Cook
parent
b6f8ed33ab
commit
26fecbf760
@@ -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
|
||||||
|
|||||||
+1
-1
@@ -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 @@
|
|||||||
#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;
|
|||||||
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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user