diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/initramfs.c | 2 | ||||
-rw-r--r-- | init/main.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/init/initramfs.c b/init/initramfs.c index 2f5bfb7d7652..62321883fe61 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -461,7 +461,7 @@ static long __init write_buffer(char *buf, unsigned long len) static long __init flush_buffer(void *bufv, unsigned long len) { - char *buf = (char *) bufv; + char *buf = bufv; long written; long origLen = len; if (message) diff --git a/init/main.c b/init/main.c index aa21add5f7c5..d213371cc067 100644 --- a/init/main.c +++ b/init/main.c @@ -145,7 +145,8 @@ void (*__initdata late_time_init)(void); /* Untouched command line saved by arch-specific code. */ char __initdata boot_command_line[COMMAND_LINE_SIZE]; /* Untouched saved command line (eg. for /proc) */ -char *saved_command_line; +char *saved_command_line __ro_after_init; +unsigned int saved_command_line_len __ro_after_init; /* Command line for parameter parsing */ static char *static_command_line; /* Untouched extra command line */ @@ -667,6 +668,8 @@ static void __init setup_command_line(char *command_line) strcpy(saved_command_line + len, extra_init_args); } } + + saved_command_line_len = strlen(saved_command_line); } /* @@ -1379,7 +1382,7 @@ static void __init do_initcall_level(int level, char *command_line) static void __init do_initcalls(void) { int level; - size_t len = strlen(saved_command_line) + 1; + size_t len = saved_command_line_len + 1; char *command_line; command_line = kzalloc(len, GFP_KERNEL); |