Jelajahi Sumber

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>
Geliang Tang 9 tahun lalu
induk
melakukan
549b39a9e7
1 mengubah file dengan 2 tambahan dan 0 penghapusan
  1. 2 0
      fs/pstore/pmsg.c

+ 2 - 0
fs/pstore/pmsg.c

@@ -37,6 +37,8 @@ static ssize_t write_pmsg(struct file *file, const char __user *buf,
 	if (buffer_size > PMSG_MAX_BOUNCE_BUFFER_SIZE)
 	if (buffer_size > PMSG_MAX_BOUNCE_BUFFER_SIZE)
 		buffer_size = PMSG_MAX_BOUNCE_BUFFER_SIZE;
 		buffer_size = PMSG_MAX_BOUNCE_BUFFER_SIZE;
 	buffer = vmalloc(buffer_size);
 	buffer = vmalloc(buffer_size);
+	if (!buffer)
+		return -ENOMEM;
 
 
 	mutex_lock(&pmsg_lock);
 	mutex_lock(&pmsg_lock);
 	for (i = 0; i < count; ) {
 	for (i = 0; i < count; ) {