diff options
author | Geoff Levand <geoffrey.levand@am.sony.com> | 2006-10-05 11:35:16 -0700 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-10-06 21:10:41 +1000 |
commit | c1ce464d29e5bbf5819b2d7527b7d3030a6d65f1 (patch) | |
tree | bce7ed6d765c3cd7a75c4cbcccb25b62ed242966 /arch/powerpc/kernel/prom.c | |
parent | 52aed7cd52ce8a1d576e26976c3950512e1af8b6 (diff) | |
download | lwn-c1ce464d29e5bbf5819b2d7527b7d3030a6d65f1.tar.gz lwn-c1ce464d29e5bbf5819b2d7527b7d3030a6d65f1.zip |
[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>
Diffstat (limited to 'arch/powerpc/kernel/prom.c')
-rw-r--r-- | arch/powerpc/kernel/prom.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index eb913f80bfb1..865b9648d0d5 100644 --- a/arch/powerpc/kernel/prom.c +++ b/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 */ |