Commit 5e372699 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'pstore-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux

Pull pstore updates from Kees Cook:

 - Check for out-of-memory condition during initialization (Jiasheng
   Jiang)

 - Fix documentation typos (Tudor Ambarus)

* tag 'pstore-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  pstore/platform: Add check for kstrdup
  docs: pstore-blk.rst: fix typo, s/console/ftrace
  docs: pstore-blk.rst: use "about" as a preposition after "care"
parents befaa609 a19d48f7
...@@ -76,7 +76,7 @@ kmsg_size ...@@ -76,7 +76,7 @@ kmsg_size
~~~~~~~~~ ~~~~~~~~~
The chunk size in KB for oops/panic front-end. It **MUST** be a multiple of 4. The chunk size in KB for oops/panic front-end. It **MUST** be a multiple of 4.
It's optional if you do not care oops/panic log. It's optional if you do not care about the oops/panic log.
There are multiple chunks for oops/panic front-end depending on the remaining There are multiple chunks for oops/panic front-end depending on the remaining
space except other pstore front-ends. space except other pstore front-ends.
...@@ -88,7 +88,7 @@ pmsg_size ...@@ -88,7 +88,7 @@ pmsg_size
~~~~~~~~~ ~~~~~~~~~
The chunk size in KB for pmsg front-end. It **MUST** be a multiple of 4. The chunk size in KB for pmsg front-end. It **MUST** be a multiple of 4.
It's optional if you do not care pmsg log. It's optional if you do not care about the pmsg log.
Unlike oops/panic front-end, there is only one chunk for pmsg front-end. Unlike oops/panic front-end, there is only one chunk for pmsg front-end.
...@@ -100,7 +100,7 @@ console_size ...@@ -100,7 +100,7 @@ console_size
~~~~~~~~~~~~ ~~~~~~~~~~~~
The chunk size in KB for console front-end. It **MUST** be a multiple of 4. The chunk size in KB for console front-end. It **MUST** be a multiple of 4.
It's optional if you do not care console log. It's optional if you do not care about the console log.
Similar to pmsg front-end, there is only one chunk for console front-end. Similar to pmsg front-end, there is only one chunk for console front-end.
...@@ -111,7 +111,7 @@ ftrace_size ...@@ -111,7 +111,7 @@ ftrace_size
~~~~~~~~~~~ ~~~~~~~~~~~
The chunk size in KB for ftrace front-end. It **MUST** be a multiple of 4. The chunk size in KB for ftrace front-end. It **MUST** be a multiple of 4.
It's optional if you do not care console log. It's optional if you do not care about the ftrace log.
Similar to oops front-end, there are multiple chunks for ftrace front-end Similar to oops front-end, there are multiple chunks for ftrace front-end
depending on the count of cpu processors. Each chunk size is equal to depending on the count of cpu processors. Each chunk size is equal to
......
...@@ -464,6 +464,8 @@ static int pstore_write_user_compat(struct pstore_record *record, ...@@ -464,6 +464,8 @@ static int pstore_write_user_compat(struct pstore_record *record,
*/ */
int pstore_register(struct pstore_info *psi) int pstore_register(struct pstore_info *psi)
{ {
char *new_backend;
if (backend && strcmp(backend, psi->name)) { if (backend && strcmp(backend, psi->name)) {
pr_warn("backend '%s' already in use: ignoring '%s'\n", pr_warn("backend '%s' already in use: ignoring '%s'\n",
backend, psi->name); backend, psi->name);
...@@ -484,11 +486,16 @@ int pstore_register(struct pstore_info *psi) ...@@ -484,11 +486,16 @@ int pstore_register(struct pstore_info *psi)
return -EINVAL; return -EINVAL;
} }
new_backend = kstrdup(psi->name, GFP_KERNEL);
if (!new_backend)
return -ENOMEM;
mutex_lock(&psinfo_lock); mutex_lock(&psinfo_lock);
if (psinfo) { if (psinfo) {
pr_warn("backend '%s' already loaded: ignoring '%s'\n", pr_warn("backend '%s' already loaded: ignoring '%s'\n",
psinfo->name, psi->name); psinfo->name, psi->name);
mutex_unlock(&psinfo_lock); mutex_unlock(&psinfo_lock);
kfree(new_backend);
return -EBUSY; return -EBUSY;
} }
...@@ -521,7 +528,7 @@ int pstore_register(struct pstore_info *psi) ...@@ -521,7 +528,7 @@ int pstore_register(struct pstore_info *psi)
* Update the module parameter backend, so it is visible * Update the module parameter backend, so it is visible
* through /sys/module/pstore/parameters/backend * through /sys/module/pstore/parameters/backend
*/ */
backend = kstrdup(psi->name, GFP_KERNEL); backend = new_backend;
pr_info("Registered %s as persistent store backend\n", psi->name); pr_info("Registered %s as persistent store backend\n", psi->name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment