From: Imre Kaloz Date: Sun, 12 Apr 2015 14:46:19 +0000 (+0000) Subject: generic: make sure we only try to mangle bootargs we do have X-Git-Url: https://git.archive.openwrt.org/?a=commitdiff_plain;h=7d17c7d21e73314ddced65541f87072937eeee9d;p=15.05%2Fopenwrt.git generic: make sure we only try to mangle bootargs we do have Signed-off-by: Imre Kaloz git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45393 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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);