Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79d955af authored by Namhyung Kim's avatar Namhyung Kim Committed by Kees Cook
Browse files

pstore/ram: Set pstore flags dynamically



The ramoops can be configured to enable each pstore type by setting
their size.  In that case, it'd be better not to register disabled types
in the first place.

Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
parent c950fd6f
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -623,7 +623,13 @@ static int ramoops_probe(struct platform_device *pdev)
		goto fail_clear;
	}

	cxt->pstore.flags = PSTORE_FLAGS_ALL;
	cxt->pstore.flags = PSTORE_FLAGS_DMESG;
	if (cxt->console_size)
		cxt->pstore.flags |= PSTORE_FLAGS_CONSOLE;
	if (cxt->ftrace_size)
		cxt->pstore.flags |= PSTORE_FLAGS_FTRACE;
	if (cxt->pmsg_size)
		cxt->pstore.flags |= PSTORE_FLAGS_PMSG;

	err = pstore_register(&cxt->pstore);
	if (err) {
+0 −2
Original line number Diff line number Diff line
@@ -80,8 +80,6 @@ struct pstore_info {
#define PSTORE_FLAGS_FTRACE	(1 << 2)
#define PSTORE_FLAGS_PMSG	(1 << 3)

#define PSTORE_FLAGS_ALL	((1 << 4) - 1)

extern int pstore_register(struct pstore_info *);
extern void pstore_unregister(struct pstore_info *);
extern bool pstore_cannot_block_path(enum kmsg_dump_reason reason);