of: Fix missing memory initialization on FDT unflattening
authorGrant Likely <[email protected]>
Wed, 28 Aug 2013 20:24:17 +0000 (21:24 +0100)
committerGrant Likely <[email protected]>
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 <[email protected]>
Acked-by: Wladislav Wiebe <[email protected]>
Cc: [email protected]
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);
        }