Răsfoiți Sursa

[POWERPC] Minor fix for bootargs property

Avoid the use of an uninitialized stack variable when the powerpc device tree
bootargs property is either missing or incorrectly defined.  This also makes
CONFIG_CMDLINE work properly under these conditions.  This change adds a test
for the existence of the bootargs property.

early_init_dt_scan_chosen() tests for a zero length bootargs property in its
CONFIG_CMDLINE processing, but the current implementation of
of_get_flat_dt_prop() doesn't assign a value to the length when no property is
found.  Since an automatic variable is used, a stale value from the stack will
be used in the test.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Geoff Levand 18 ani în urmă
părinte
comite
c1ce464d29
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      arch/powerpc/kernel/prom.c

+ 1 - 1
arch/powerpc/kernel/prom.c

@@ -724,7 +724,7 @@ static int __init early_init_dt_scan_chosen(unsigned long node,
 		strlcpy(cmd_line, p, min((int)l, COMMAND_LINE_SIZE));
 
 #ifdef CONFIG_CMDLINE
-	if (l == 0 || (l == 1 && (*p) == 0))
+	if (p == NULL || l == 0 || (l == 1 && (*p) == 0))
 		strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
 #endif /* CONFIG_CMDLINE */