1 From 49e67dd17649b60b4d54966e18ec9c80198227f0 Mon Sep 17 00:00:00 2001
2 From: Johan Hovold <johan@kernel.org>
3 Date: Wed, 17 May 2017 17:29:09 +0200
4 Subject: of: fdt: add missing allocation-failure check
6 From: Johan Hovold <johan@kernel.org>
8 commit 49e67dd17649b60b4d54966e18ec9c80198227f0 upstream.
10 The memory allocator passed to __unflatten_device_tree() (e.g. a wrapped
11 kzalloc) can fail so add the missing sanity check to avoid dereferencing
14 Fixes: fe14042358fa ("of/flattree: Refactor unflatten_device_tree and add fdt_unflatten_tree")
15 Signed-off-by: Johan Hovold <johan@kernel.org>
16 Signed-off-by: Rob Herring <robh@kernel.org>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20 drivers/of/fdt.c | 3 +++
21 1 file changed, 3 insertions(+)
23 --- a/drivers/of/fdt.c
24 +++ b/drivers/of/fdt.c
25 @@ -505,6 +505,9 @@ static void *__unflatten_device_tree(con
27 /* Allocate memory for the expanded device tree */
28 mem = dt_alloc(size + 4, __alignof__(struct device_node));
34 *(__be32 *)(mem + size) = cpu_to_be32(0xdeadbeef);