summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/pstore/platform.c3
-rw-r--r--include/linux/pstore.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index 8beaeff72386..715396bef0ea 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -624,7 +624,7 @@ int pstore_register(struct pstore_info *psi)
* Update the module parameter backend, so it is visible
* through /sys/module/pstore/parameters/backend
*/
- backend = psi->name;
+ backend = kstrdup(psi->name, GFP_KERNEL);
pr_info("Registered %s as persistent store backend\n", psi->name);
@@ -667,6 +667,7 @@ void pstore_unregister(struct pstore_info *psi)
free_buf_for_compression();
psinfo = NULL;
+ kfree(backend);
backend = NULL;
mutex_unlock(&psinfo_lock);
}
diff --git a/include/linux/pstore.h b/include/linux/pstore.h
index e779441e6d26..f6f22b13e04f 100644
--- a/include/linux/pstore.h
+++ b/include/linux/pstore.h
@@ -170,7 +170,7 @@ struct pstore_record {
*/
struct pstore_info {
struct module *owner;
- char *name;
+ const char *name;
struct semaphore buf_lock;
char *buf;