ramoops: Only unregister when registered
authorKees Cook <keescook@chromium.org>
Thu, 19 May 2016 14:59:03 +0000 (10:59 -0400)
committerKees Cook <keescook@chromium.org>
Tue, 31 May 2016 19:36:44 +0000 (12:36 -0700)
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 <keescook@chromium.org>
fs/pstore/platform.c

index 588461b..e8c17af 100644 (file)
@@ -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();