Blob Blame History Raw
From 025f69ade93952e9415ea5c5f48d729b03e04dfc Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Fri, 26 May 2017 00:26:17 +0200
Subject: [PATCH] staging: vchiq_2835_arm: Handle vmalloc_to_page error case
Git-commit: 025f69ade93952e9415ea5c5f48d729b03e04dfc
Patch-mainline: v4.13-rc1
References: FATE#324827

In case vmalloc_to_page returns NULL create_pagelist must abort
imediatly.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c |    5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -459,6 +459,11 @@ create_pagelist(char __user *buf, size_t
 								 PAGE_SIZE));
 			size_t bytes = PAGE_SIZE - off;
 
+			if (!pg) {
+				cleanup_pagelistinfo(pagelistinfo);
+				return NULL;
+			}
+
 			if (bytes > length)
 				bytes = length;
 			pages[actual_pages] = pg;