pstore: Fix NULL pointer fault if get NULL prz in ramoops_get_next_prz
authorLiu ShuoX <shuox.liu@intel.com>
Mon, 17 Mar 2014 20:57:49 +0000 (13:57 -0700)
committerTony Luck <tony.luck@intel.com>
Mon, 17 Mar 2014 21:14:03 +0000 (14:14 -0700)
ramoops_get_next_prz get the prz according the paramters. If it get a
uninitialized prz, access its members by following persistent_ram_old_size(prz)
will cause a NULL pointer crash.
Ex: if ftrace_size is 0, fprz will be NULL.

Fix it by return NULL in advance.

Signed-off-by: Liu ShuoX <shuox.liu@intel.com>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
fs/pstore/ram.c

index 1daed280f1b6c39edd9a8098c687852775e6915e..6f96d8c2a711995beff74e87d22baefd5da8b3a8 100644 (file)
@@ -119,6 +119,8 @@ ramoops_get_next_prz(struct persistent_ram_zone *przs[], uint *c, uint max,
                return NULL;
 
        prz = przs[i];
+       if (!prz)
+               return NULL;
 
        /* Update old/shadowed buffer. */
        if (update)