put off initial_boot_params = params; until all checks finished. If any check failed, initial_boot_params is equal NULL, base upon bss segment initial value. Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> --- drivers/of/fdt.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c index d1ffca8..325c638 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -994,14 +994,12 @@ bool __init early_init_dt_verify(void *params) if (!params) return false; - /* Setup flat device-tree pointer */ - initial_boot_params = params; - /* check device tree validity */ - if (fdt_check_header(params)) { - initial_boot_params = NULL; + if (fdt_check_header(params)) return false; - } + + /* Setup flat device-tree pointer */ + initial_boot_params = params; return true; } -- 1.8.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html