projects/linux·commit fc46d4e4

ramoops: add pdata NULL check to ramoops_probe

fc46d4e4 · Kees Cook <[email protected]> · 2016-11-15 16:29:40 -08:00

This adds a check for a NULL platform data, which should only be possible
if a driver incorrectly sets up a probe request without also having defined
the platform_data structure. This is based on a patch from Geliang Tang.

Signed-off-by: Kees Cook <[email protected]>
Commit
fc46d4e453f50d2b376267f180cae250b54f9fb4
Parents
70ad35db

Changes

1 files changed · +11 −2

FileStatusAddDelContent
fs/pstore/ram.cmodified+11−2View file

fs/pstore/ram.c

View file
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 3802224..27c059e 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -734,11 +734,20 @@ static int ramoops_probe(struct platform_device *pdev)
goto fail_out;
}
- /* Only a single ramoops area allowed at a time, so fail extra
+ /*
+ * Only a single ramoops area allowed at a time, so fail extra
* probes.
*/
- if (cxt->max_dump_cnt)
+ if (cxt->max_dump_cnt) {
+ pr_err("already initialized\n");
goto fail_out;
+ }
+
+ /* Make sure we didn't get bogus platform data pointer. */
+ if (!pdata) {
+ pr_err("NULL platform data\n");
+ goto fail_out;
+ }
if (!pdata->mem_size || (!pdata->record_size && !pdata->console_size &&
!pdata->ftrace_size && !pdata->pmsg_size)) {