diff options
author | Liu ShuoX <shuox.liu@intel.com> | 2014-03-17 16:57:49 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2014-03-17 17:14:03 -0400 |
commit | b0aa931fb84431394d995472d0af2a6c2b61064d (patch) | |
tree | dc51c08fc851d57745ebc79851a9622d7e8b4d15 /fs/pstore | |
parent | aa9a4a1edfbd3d223af01db833da2f07850bc655 (diff) |
pstore: Fix NULL pointer fault if get NULL prz in ramoops_get_next_prz
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>
Diffstat (limited to 'fs/pstore')
-rw-r--r-- | fs/pstore/ram.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c index 1daed280f1b6..6f96d8c2a711 100644 --- a/fs/pstore/ram.c +++ b/fs/pstore/ram.c | |||
@@ -119,6 +119,8 @@ ramoops_get_next_prz(struct persistent_ram_zone *przs[], uint *c, uint max, | |||
119 | return NULL; | 119 | return NULL; |
120 | 120 | ||
121 | prz = przs[i]; | 121 | prz = przs[i]; |
122 | if (!prz) | ||
123 | return NULL; | ||
122 | 124 | ||
123 | /* Update old/shadowed buffer. */ | 125 | /* Update old/shadowed buffer. */ |
124 | if (update) | 126 | if (update) |