diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2015-04-12 14:46:19 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2015-04-12 14:46:19 +0000 |
commit | 6cfe1539da954a69ed41c6e8d424a34406285ac3 (patch) | |
tree | 03700fda01d9410111c85392d76b908593be958a /target/linux/generic | |
parent | 95ef64a7792801135740073208b3e31322f948c8 (diff) | |
download | upstream-6cfe1539da954a69ed41c6e8d424a34406285ac3.tar.gz upstream-6cfe1539da954a69ed41c6e8d424a34406285ac3.tar.bz2 upstream-6cfe1539da954a69ed41c6e8d424a34406285ac3.zip |
generic: make sure we only try to mangle bootargs we do have
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 45393
Diffstat (limited to 'target/linux/generic')
-rw-r--r-- | target/linux/generic/patches-3.18/995-mangle_bootargs.patch | 21 | ||||
-rw-r--r-- | target/linux/generic/patches-4.0/995-mangle_bootargs.patch | 21 |
2 files changed, 24 insertions, 18 deletions
diff --git a/target/linux/generic/patches-3.18/995-mangle_bootargs.patch b/target/linux/generic/patches-3.18/995-mangle_bootargs.patch index 5d56cf4462..0029e90822 100644 --- a/target/linux/generic/patches-3.18/995-mangle_bootargs.patch +++ b/target/linux/generic/patches-3.18/995-mangle_bootargs.patch @@ -1,8 +1,8 @@ --- a/init/main.c +++ b/init/main.c -@@ -379,6 +379,26 @@ static void __init setup_command_line(ch - strcpy(static_command_line, command_line); - } +@@ -362,6 +362,29 @@ static inline void setup_nr_cpu_ids(void + static inline void smp_prepare_cpus(unsigned int maxcpus) { } + #endif +#ifdef CONFIG_MANGLE_BOOTARGS +static void __init mangle_bootargs(char *command_line) @@ -11,10 +11,14 @@ + char *rootfs; + + rootdev = strstr(command_line, "root=/dev/mtdblock"); -+ strncpy(rootdev, "mangled_rootblock=", 18); ++ ++ if (rootdev) ++ strncpy(rootdev, "mangled_rootblock=", 18); + + rootfs = strstr(command_line, "rootfstype"); -+ strncpy(rootfs, "mangled_fs", 10); ++ ++ if (rootfs) ++ strncpy(rootfs, "mangled_fs", 10); + +} +#else @@ -23,11 +27,10 @@ +} +#endif + -+ /* - * We need to finalize in a non-__init function or else race conditions - * between the root thread and the init thread may cause start_kernel to -@@ -530,6 +550,7 @@ asmlinkage __visible void __init start_k + * We need to store the untouched command line for future reference. + * We also need to store the touched command line since the parameter +@@ -530,6 +553,7 @@ asmlinkage __visible void __init start_k pr_notice("%s", linux_banner); setup_arch(&command_line); mm_init_cpumask(&init_mm); diff --git a/target/linux/generic/patches-4.0/995-mangle_bootargs.patch b/target/linux/generic/patches-4.0/995-mangle_bootargs.patch index 38df82acc1..ebfc6d86fc 100644 --- a/target/linux/generic/patches-4.0/995-mangle_bootargs.patch +++ b/target/linux/generic/patches-4.0/995-mangle_bootargs.patch @@ -1,8 +1,8 @@ --- a/init/main.c +++ b/init/main.c -@@ -368,6 +368,26 @@ static void __init setup_command_line(ch - strcpy(static_command_line, command_line); - } +@@ -351,6 +351,29 @@ static inline void setup_nr_cpu_ids(void + static inline void smp_prepare_cpus(unsigned int maxcpus) { } + #endif +#ifdef CONFIG_MANGLE_BOOTARGS +static void __init mangle_bootargs(char *command_line) @@ -11,10 +11,14 @@ + char *rootfs; + + rootdev = strstr(command_line, "root=/dev/mtdblock"); -+ strncpy(rootdev, "mangled_rootblock=", 18); ++ ++ if (rootdev) ++ strncpy(rootdev, "mangled_rootblock=", 18); + + rootfs = strstr(command_line, "rootfstype"); -+ strncpy(rootfs, "mangled_fs", 10); ++ ++ if (rootfs) ++ strncpy(rootfs, "mangled_fs", 10); + +} +#else @@ -23,11 +27,10 @@ +} +#endif + -+ /* - * We need to finalize in a non-__init function or else race conditions - * between the root thread and the init thread may cause start_kernel to -@@ -519,6 +539,7 @@ asmlinkage __visible void __init start_k + * We need to store the untouched command line for future reference. + * We also need to store the touched command line since the parameter +@@ -519,6 +542,7 @@ asmlinkage __visible void __init start_k pr_notice("%s", linux_banner); setup_arch(&command_line); mm_init_cpumask(&init_mm); |