aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0127-panel-raspberrypi-touchscreen-Fix-NULL-deref-if-prob.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0127-panel-raspberrypi-touchscreen-Fix-NULL-deref-if-prob.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0127-panel-raspberrypi-touchscreen-Fix-NULL-deref-if-prob.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0127-panel-raspberrypi-touchscreen-Fix-NULL-deref-if-prob.patch b/target/linux/brcm2708/patches-4.14/950-0127-panel-raspberrypi-touchscreen-Fix-NULL-deref-if-prob.patch
new file mode 100644
index 0000000000..37e1c63efe
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0127-panel-raspberrypi-touchscreen-Fix-NULL-deref-if-prob.patch
@@ -0,0 +1,27 @@
+From d68d26f7f526fce52e71312501f3d07044a3c996 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Wed, 12 Apr 2017 17:52:56 -0700
+Subject: [PATCH 127/454] panel-raspberrypi-touchscreen: Fix NULL deref if
+ probe order goes wrong.
+
+If the i2c driver hadn't pobed before the panel driver probes, then
+the client would be NULL but we were looking for an ERR_PTR in the
+error case.
+
+Signed-off-by: Eric Anholt <eric@anholt.net>
+---
+ drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
++++ b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
+@@ -399,6 +399,9 @@ static struct i2c_client *rpi_touchscree
+
+ of_node_put(node);
+
++ if (!client)
++ return ERR_PTR(-EPROBE_DEFER);
++
+ return client;
+ }
+