of: Fix missing memory initialization on FDT unflattening
authorGrant Likely <grant.likely@linaro.org>
Wed, 28 Aug 2013 20:24:17 +0000 (21:24 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 26 Oct 2013 20:06:00 +0000 (21:06 +0100)
commit 0640332e073be9207f0784df43595c0c39716e42 upstream.

Any calls to dt_alloc() need to be zeroed. This is a temporary fix, but
the allocation function itself needs to zero memory before returning
it. This is a follow up to patch 9e4012752, "of: fdt: fix memory
initialization for expanded DT" which fixed one call site but missed
another.

Signed-off-by: Grant Likely <grant.likely@linaro.org>
Acked-by: Wladislav Wiebe <wladislav.kw@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/of/base.c

index 9b6588e..37639a6 100644 (file)
@@ -1189,6 +1189,7 @@ void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align))
                ap = dt_alloc(sizeof(*ap) + len + 1, 4);
                if (!ap)
                        continue;
+               memset(ap, 0, sizeof(*ap) + len + 1);
                ap->alias = start;
                of_alias_add(ap, np, id, start, len);
        }