diff options
author | Geliang Tang <geliangtang@163.com> | 2015-10-20 03:39:01 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2015-10-21 12:27:10 -0400 |
commit | 549b39a9e7ef3eee2d0895530f277c012abc7b43 (patch) | |
tree | 742b9ce0b00b89b861b21c7c336bc848c5734a99 | |
parent | 7379047d5585187d1288486d4627873170d0005a (diff) |
pstore: add vmalloc error check
If vmalloc fails, make write_pmsg return -ENOMEM.
Signed-off-by: Geliang Tang <geliangtang@163.com>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r-- | fs/pstore/pmsg.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/pstore/pmsg.c b/fs/pstore/pmsg.c index feb5dd2948b4..5a2f05a16c1e 100644 --- a/fs/pstore/pmsg.c +++ b/fs/pstore/pmsg.c | |||
@@ -37,6 +37,8 @@ static ssize_t write_pmsg(struct file *file, const char __user *buf, | |||
37 | if (buffer_size > PMSG_MAX_BOUNCE_BUFFER_SIZE) | 37 | if (buffer_size > PMSG_MAX_BOUNCE_BUFFER_SIZE) |
38 | buffer_size = PMSG_MAX_BOUNCE_BUFFER_SIZE; | 38 | buffer_size = PMSG_MAX_BOUNCE_BUFFER_SIZE; |
39 | buffer = vmalloc(buffer_size); | 39 | buffer = vmalloc(buffer_size); |
40 | if (!buffer) | ||
41 | return -ENOMEM; | ||
40 | 42 | ||
41 | mutex_lock(&pmsg_lock); | 43 | mutex_lock(&pmsg_lock); |
42 | for (i = 0; i < count; ) { | 44 | for (i = 0; i < count; ) { |