From a1db8060f5c85e33ed810038036f409eed15decc Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Thu, 19 May 2016 10:59:03 -0400 Subject: ramoops: Only unregister when registered While none of the "fragile" pstore backends unregister yet, if they ever did, the unregistering code for the non-dump targets might get confused. This adds a check for fragile backends on unregister. Signed-off-by: Kees Cook --- fs/pstore/platform.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'fs/pstore') diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 588461bb2dd4..e8c17afdfb41 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -497,9 +497,11 @@ EXPORT_SYMBOL_GPL(pstore_register); void pstore_unregister(struct pstore_info *psi) { - pstore_unregister_pmsg(); - pstore_unregister_ftrace(); - pstore_unregister_console(); + if ((psi->flags & PSTORE_FLAGS_FRAGILE) == 0) { + pstore_unregister_pmsg(); + pstore_unregister_ftrace(); + pstore_unregister_console(); + } pstore_unregister_kmsg(); free_buf_for_compression(); -- cgit v1.2.3