2013-08-29 13:45:02

by Grant Likely

[permalink] [raw]
Subject: [PATCH] of/fdt: Remove duplicate memory clearing on FDT unflattening

Patch 9e4012752, "of: fdt: fix memory initialization for expanded DT"
fixed incomplete clearing of memory when unflattening the device tree.
However the code was already clearing some of the memory, it just wasn't
doing so for all allocations. Now that the memory is cleared right at
the point of allocation, the memset after unflatten_dt_alloc() is
redundant. Remove it.

Signed-off-by: Grant Likely <[email protected]>
Cc: Wladislav Wiebe <[email protected]>
---
drivers/of/fdt.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 55b028f..9d9be9617 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -202,7 +202,6 @@ static void * unflatten_dt_node(struct boot_param_header *blob,
__alignof__(struct device_node));
if (allnextpp) {
char *fn;
- memset(np, 0, sizeof(*np));
np->full_name = fn = ((char *)np) + sizeof(*np);
if (new_format) {
/* rebuild full path for new format */
--
1.8.1.2


2013-08-29 16:48:43

by Wladislav Wiebe

[permalink] [raw]
Subject: Re: [PATCH] of/fdt: Remove duplicate memory clearing on FDT unflattening

On 29/08/13 15:44, Grant Likely wrote:
> Patch 9e4012752, "of: fdt: fix memory initialization for expanded DT"
> fixed incomplete clearing of memory when unflattening the device tree.
> However the code was already clearing some of the memory, it just wasn't
> doing so for all allocations. Now that the memory is cleared right at
> the point of allocation, the memset after unflatten_dt_alloc() is
> redundant. Remove it.

Acked-by: Wladislav Wiebe <[email protected]>

>
> Signed-off-by: Grant Likely <[email protected]>
> Cc: Wladislav Wiebe <[email protected]>
> ---
> drivers/of/fdt.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 55b028f..9d9be9617 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -202,7 +202,6 @@ static void * unflatten_dt_node(struct boot_param_header *blob,
> __alignof__(struct device_node));
> if (allnextpp) {
> char *fn;
> - memset(np, 0, sizeof(*np));
> np->full_name = fn = ((char *)np) + sizeof(*np);
> if (new_format) {
> /* rebuild full path for new format */
>