X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/c2243d1fb9e44f9f4dbf83f8e85b4d52b30aea82..0432b2b9b938198359cb9e980a72358278f047bb:/target/linux/generic/patches-2.6.39/335-mips-kexec-cleanup-kexec-tools-parameter-handling.patch diff --git a/target/linux/generic/patches-2.6.39/335-mips-kexec-cleanup-kexec-tools-parameter-handling.patch b/target/linux/generic/patches-2.6.39/335-mips-kexec-cleanup-kexec-tools-parameter-handling.patch index abc89712b..f7a8eed00 100644 --- a/target/linux/generic/patches-2.6.39/335-mips-kexec-cleanup-kexec-tools-parameter-handling.patch +++ b/target/linux/generic/patches-2.6.39/335-mips-kexec-cleanup-kexec-tools-parameter-handling.patch @@ -9,7 +9,7 @@ +#define KEXEC_MIPS_ARGV_MAX_ARGS (COMMAND_LINE_SIZE / 15) + +char kexec_argv_buf[KEXEC_MIPS_ARGV_BUF_SIZE] __kexec; -+int kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec; ++char *kexec_argv[KEXEC_MIPS_ARGV_MAX_ARGS] __kexec; + +static void +machine_kexec_print_args(void) @@ -39,7 +39,7 @@ - int i, argc = 0; - char *bootloader = "kexec"; - int *kexec_argv = (int *)kexec_args[1]; -+ void __user *buf; ++ void __user *buf = NULL; + size_t bufsz; + size_t size; + int i; @@ -92,13 +92,13 @@ + break; + } + -+ if (i >= image->nr_segments) ++ if (!buf) + return; + + size = KEXEC_MIPS_ARGV_BUF_SIZE - 1; + size = min(size, bufsz); + if (size < bufsz) -+ pr_warn("kexec command line truncated to %d bytes\n", size); ++ pr_warn("kexec command line truncated to %zd bytes\n", size); + + /* Copy to kernel space */ + copy_from_user(kexec_argv_buf, buf, size); @@ -126,7 +126,7 @@ + continue; } + -+ kexec_argv[argc++] = (int) ptr; ++ kexec_argv[argc++] = ptr; + ptr = strchr(ptr, ' '); } @@ -138,7 +138,7 @@ - return 0; + kexec_args[0] = argc; -+ kexec_args[1] = (int) kexec_argv; ++ kexec_args[1] = (unsigned long)kexec_argv; + kexec_args[2] = 0; + kexec_args[3] = 0; +