]> git.baikalelectronics.ru Git - kernel.git/commitdiff
x86/kaslr: Drop test for command-line parameters before parsing
authorArvind Sankar <nivedita@alum.mit.edu>
Tue, 28 Jul 2020 22:57:14 +0000 (18:57 -0400)
committerIngo Molnar <mingo@kernel.org>
Fri, 31 Jul 2020 09:08:17 +0000 (11:08 +0200)
This check doesn't save anything. In the case when none of the
parameters are present, each strstr will scan args twice (once to find
the length and then for searching), six scans in total. Just going ahead
and parsing the arguments only requires three scans: strlen, memcpy, and
parsing. This will be the first malloc, so free will actually free up
the memory, so the check doesn't save heap space either.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200728225722.67457-14-nivedita@alum.mit.edu
arch/x86/boot/compressed/kaslr.c

index 00ef84b689f63543c21f4373c5a974d519399cd0..bd13dc5e64b70fc3035394fe3a3c0eb89d7664c7 100644 (file)
@@ -279,10 +279,6 @@ static void handle_mem_options(void)
        if (!args)
                return;
 
-       if (!strstr(args, "memmap=") && !strstr(args, "mem=") &&
-               !strstr(args, "hugepages"))
-               return;
-
        len = strlen(args);
        tmp_cmdline = malloc(len + 1);
        if (!tmp_cmdline)