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)
committerGrant Likely <grant.likely@linaro.org>
Thu, 29 Aug 2013 20:40:10 +0000 (21:40 +0100)
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>
Cc: stable@vger.kernel.org
drivers/of/base.c

index 5c5427918eb2f54b6a22d766aa7e697ca21c7666..bf8432f580f6e0ede360215d885154c0c5496f23 100644 (file)
@@ -1629,6 +1629,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);
        }