lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 24 May 2008 23:47:47 -0400 From: Kristian Høgsberg <krh@...hat.com> To: linux-kernel@...r.kernel.org Cc: Kristian Høgsberg <krh@...hat.com> Subject: [PATCH 2/2 v2] Only print "Decompressing Linux" etc when 'debug' is passed. Signed-off-by: Kristian Høgsberg <krh@...hat.com> --- Updated to use the standard 'debug' parameter instead of 'noisy'. arch/x86/boot/compressed/misc.c | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c index 0d03579..017df26 100644 --- a/arch/x86/boot/compressed/misc.c +++ b/arch/x86/boot/compressed/misc.c @@ -190,6 +190,7 @@ static void gzip_release(void **); */ static struct boot_params *real_mode; /* Pointer to real-mode data */ static struct screen_info *rm_screen_info; /* Pointer to real-mode data */ +static int debug; extern unsigned char input_data[]; extern int input_len; @@ -391,7 +392,8 @@ static void parse_elf(void *output) return; } - putstr("Parsing ELF... "); + if (debug) + putstr("Parsing ELF... "); phdrs = malloc(sizeof(*phdrs) * ehdr.e_phnum); if (!phdrs) @@ -419,11 +421,27 @@ static void parse_elf(void *output) } } +static const char *strnstr(const char *string, int len, const char *s) +{ + int i, j; + + for (i = 0; i < len; i++) { + for (j = 0; i + j < len && s[j]; j++) + if (string[i + j] != s[j]) + break; + if (s[j] == '\0') + return string + i; + } + + return NULL; +} asmlinkage void decompress_kernel(void *rmode, memptr heap, unsigned char *input_data, unsigned long input_len, unsigned char *output) { + char *cmdline; + real_mode = rmode; if (rm_screen_info->orig_video_mode == 7) { @@ -437,6 +455,10 @@ asmlinkage void decompress_kernel(void *rmode, memptr heap, lines = rm_screen_info->orig_video_lines; cols = rm_screen_info->orig_video_cols; + cmdline = (char *) real_mode->hdr.cmd_line_ptr; + if (strnstr(cmdline, real_mode->hdr.cmdline_size, "debug")) + debug = 1; + window = output; /* Output buffer (Normally at 1M) */ free_mem_ptr = heap; /* Heap */ free_mem_end_ptr = heap + BOOT_HEAP_SIZE; @@ -461,9 +483,11 @@ asmlinkage void decompress_kernel(void *rmode, memptr heap, #endif makecrc(); - putstr("\nDecompressing Linux... "); + if (debug) + putstr("\nDecompressing Linux... "); gunzip(); parse_elf(output); - putstr("done.\nBooting the kernel.\n"); + if (debug) + putstr("done.\nBooting the kernel.\n"); return; } -- 1.5.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists