[{"id":2644172,"web_url":"http://patchwork.ozlabs.org/comment/2644172/","msgid":"<CAMj1kXF9k2J5eZdn6R6bn4ChRVyuGYHM7bOtycf1QKrakrua_g@mail.gmail.com>","date":"2021-03-09T06:43:01","subject":"Re: [PATCH v2 7/7] CMDLINE: x86: convert to generic builtin command\n line","submitter":{"id":77831,"url":"http://patchwork.ozlabs.org/api/people/77831/","name":"Ard Biesheuvel","email":"ardb@kernel.org"},"content":"On Tue, 9 Mar 2021 at 01:03, Daniel Walker <danielwa@cisco.com> wrote:\n>\n> This updates the x86 code to use the CONFIG_GENERIC_CMDLINE\n> option.\n>\n> Cc: xe-linux-external@cisco.com\n> Signed-off-by: Ruslan Ruslichenko <rruslich@cisco.com>\n> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com>\n> Signed-off-by: Daniel Walker <danielwa@cisco.com>\n> ---\n>  arch/x86/Kconfig                        | 44 +------------------------\n>  arch/x86/kernel/setup.c                 | 18 ++--------\n>  drivers/firmware/efi/libstub/x86-stub.c |  2 +-\n>  3 files changed, 4 insertions(+), 60 deletions(-)\n>\n> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig\n> index 21f851179ff0..3950f9bf9855 100644\n> --- a/arch/x86/Kconfig\n> +++ b/arch/x86/Kconfig\n> @@ -115,6 +115,7 @@ config X86\n>         select EDAC_SUPPORT\n>         select GENERIC_CLOCKEVENTS_BROADCAST    if X86_64 || (X86_32 && X86_LOCAL_APIC)\n>         select GENERIC_CLOCKEVENTS_MIN_ADJUST\n> +       select GENERIC_CMDLINE\n>         select GENERIC_CMOS_UPDATE\n>         select GENERIC_CPU_AUTOPROBE\n>         select GENERIC_CPU_VULNERABILITIES\n> @@ -2368,49 +2369,6 @@ choice\n>\n>  endchoice\n>\n> -config CMDLINE_BOOL\n> -       bool \"Built-in kernel command line\"\n> -       help\n> -         Allow for specifying boot arguments to the kernel at\n> -         build time.  On some systems (e.g. embedded ones), it is\n> -         necessary or convenient to provide some or all of the\n> -         kernel boot arguments with the kernel itself (that is,\n> -         to not rely on the boot loader to provide them.)\n> -\n> -         To compile command line arguments into the kernel,\n> -         set this option to 'Y', then fill in the\n> -         boot arguments in CONFIG_CMDLINE.\n> -\n> -         Systems with fully functional boot loaders (i.e. non-embedded)\n> -         should leave this option set to 'N'.\n> -\n> -config CMDLINE\n> -       string \"Built-in kernel command string\"\n> -       depends on CMDLINE_BOOL\n> -       default \"\"\n> -       help\n> -         Enter arguments here that should be compiled into the kernel\n> -         image and used at boot time.  If the boot loader provides a\n> -         command line at boot time, it is appended to this string to\n> -         form the full kernel command line, when the system boots.\n> -\n> -         However, you can use the CONFIG_CMDLINE_OVERRIDE option to\n> -         change this behavior.\n> -\n> -         In most cases, the command line (whether built-in or provided\n> -         by the boot loader) should specify the device for the root\n> -         file system.\n> -\n> -config CMDLINE_OVERRIDE\n> -       bool \"Built-in command line overrides boot loader arguments\"\n> -       depends on CMDLINE_BOOL && CMDLINE != \"\"\n> -       help\n> -         Set this option to 'Y' to have the kernel ignore the boot loader\n> -         command line, and use ONLY the built-in command line.\n> -\n> -         This is used to work around broken boot loaders.  This should\n> -         be set to 'N' under normal conditions.\n> -\n>  config MODIFY_LDT_SYSCALL\n>         bool \"Enable the LDT (local descriptor table)\" if EXPERT\n>         default y\n> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c\n> index 740f3bdb3f61..e748c3e5c1ae 100644\n> --- a/arch/x86/kernel/setup.c\n> +++ b/arch/x86/kernel/setup.c\n> @@ -48,6 +48,7 @@\n>  #include <asm/unwind.h>\n>  #include <asm/vsyscall.h>\n>  #include <linux/vmalloc.h>\n> +#include <linux/cmdline.h>\n>\n>  /*\n>   * max_low_pfn_mapped: highest directly mapped pfn < 4 GB\n> @@ -162,9 +163,6 @@ unsigned long saved_video_mode;\n>  #define RAMDISK_LOAD_FLAG              0x4000\n>\n>  static char __initdata command_line[COMMAND_LINE_SIZE];\n> -#ifdef CONFIG_CMDLINE_BOOL\n> -static char __initdata builtin_cmdline[COMMAND_LINE_SIZE] = CONFIG_CMDLINE;\n> -#endif\n>\n>  #if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)\n>  struct edd edd;\n> @@ -884,19 +882,7 @@ void __init setup_arch(char **cmdline_p)\n>         bss_resource.start = __pa_symbol(__bss_start);\n>         bss_resource.end = __pa_symbol(__bss_stop)-1;\n>\n> -#ifdef CONFIG_CMDLINE_BOOL\n> -#ifdef CONFIG_CMDLINE_OVERRIDE\n> -       strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);\n> -#else\n> -       if (builtin_cmdline[0]) {\n> -               /* append boot loader cmdline to builtin */\n> -               strlcat(builtin_cmdline, \" \", COMMAND_LINE_SIZE);\n> -               strlcat(builtin_cmdline, boot_command_line, COMMAND_LINE_SIZE);\n> -               strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);\n> -       }\n> -#endif\n> -#endif\n> -\n> +       cmdline_add_builtin(boot_command_line, NULL, COMMAND_LINE_SIZE);\n>         strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);\n>         *cmdline_p = command_line;\n>\n> diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c\n> index f14c4ff5839f..9538c9d4a0bc 100644\n> --- a/drivers/firmware/efi/libstub/x86-stub.c\n> +++ b/drivers/firmware/efi/libstub/x86-stub.c\n> @@ -736,7 +736,7 @@ unsigned long efi_main(efi_handle_t handle,\n>         }\n>\n>  #ifdef CONFIG_CMDLINE_BOOL\n\nDoes this CMDLINE_BOOL check need to be dropped as well?\n\n> -       status = efi_parse_options(CONFIG_CMDLINE);\n> +       status = efi_parse_options(CONFIG_CMDLINE_PREPEND \" \" CONFIG_CMDLINE_APPEND);\n>         if (status != EFI_SUCCESS) {\n>                 efi_err(\"Failed to parse options\\n\");\n>                 goto fail;\n> --\n> 2.25.1\n>","headers":{"Return-Path":"\n <linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Authentication-Results":["ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org;\n receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=PsLPWBfO;\n\tdkim-atps=neutral","lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=PsLPWBfO;\n\tdkim-atps=neutral","lists.ozlabs.org; spf=pass (sender SPF authorized)\n smtp.mailfrom=kernel.org (client-ip=198.145.29.99; helo=mail.kernel.org;\n envelope-from=ardb@kernel.org; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=PsLPWBfO;\n dkim-atps=neutral"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 4DvlzD4w0Wz9sW8\n\tfor <patchwork-incoming@ozlabs.org>; Tue,  9 Mar 2021 17:43:36 +1100 (AEDT)","from boromir.ozlabs.org (localhost [IPv6:::1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4DvlzD449bz3cGw\n\tfor <patchwork-incoming@ozlabs.org>; Tue,  9 Mar 2021 17:43:36 +1100 (AEDT)","from mail.kernel.org (mail.kernel.org [198.145.29.99])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by lists.ozlabs.org (Postfix) with ESMTPS id 4Dvlyq2Qypz30L7\n for <linuxppc-dev@lists.ozlabs.org>; Tue,  9 Mar 2021 17:43:15 +1100 (AEDT)","by mail.kernel.org (Postfix) with ESMTPSA id 5C19F652AD\n for <linuxppc-dev@lists.ozlabs.org>; Tue,  9 Mar 2021 06:43:12 +0000 (UTC)","by mail-ot1-f49.google.com with SMTP id r24so3717807otp.12\n for <linuxppc-dev@lists.ozlabs.org>; Mon, 08 Mar 2021 22:43:12 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n s=k20201202; t=1615272192;\n bh=8aTJOb41W71/iAYGorZ+HicoBt7LRkfCHw2dKRKP5H8=;\n h=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n b=PsLPWBfOWhe/SUGxap6rvsZXtVzh2EiQf7EnxMZZDhpQSHp8pryRMfdjo1ePU9uGy\n 4csLHWUbFWNa4SbM9RJy5TLnV8zAXHZsDPq7VibDYGiOO9WeEKpZk43SZkX2Dzscbq\n J6XlTSnbzEzvxSjunZA94vLnZZFlPy05/xBtkormCNi3dRDH0kFD4xlFRXcMezlx5c\n nKVb2CCGGlOUKlwyPdAQXKlocouJZrF+4dIrw8QP+Smis35zhLbmdw1hhheRDkoh+l\n /zlsT1zEYpG/vD1wZu7C2rqmHTUh6fkkvnFdzvAV4HiOskAlhWePGPVxORbsCM6zwi\n oZfa4b9vwf92w==","X-Gm-Message-State":"AOAM533/ZkqPIB5/SD7E9AdNUqycCoVzmt2a+WD+BQhRCnHwjANQHBqx\n 50MtGwu9fN6wyodIJqiCvvAO7+nAa4wcIBTzGRk=","X-Google-Smtp-Source":"\n ABdhPJwwErlMGgTI6W9kWVTWXyRRpA2pqUCTwdh7w26x7CXw7TkH69DIf3SOIwcUVKSsFK4w6gv5mpplcLA5Tjexcsk=","X-Received":"by 2002:a9d:7512:: with SMTP id r18mr23355920otk.90.1615272191490;\n Mon, 08 Mar 2021 22:43:11 -0800 (PST)","MIME-Version":"1.0","References":"<20210309000247.2989531-8-danielwa@cisco.com>","In-Reply-To":"<20210309000247.2989531-8-danielwa@cisco.com>","From":"Ard Biesheuvel <ardb@kernel.org>","Date":"Tue, 9 Mar 2021 07:43:01 +0100","X-Gmail-Original-Message-ID":"\n <CAMj1kXF9k2J5eZdn6R6bn4ChRVyuGYHM7bOtycf1QKrakrua_g@mail.gmail.com>","Message-ID":"\n <CAMj1kXF9k2J5eZdn6R6bn4ChRVyuGYHM7bOtycf1QKrakrua_g@mail.gmail.com>","Subject":"Re: [PATCH v2 7/7] CMDLINE: x86: convert to generic builtin command\n line","To":"Daniel Walker <danielwa@cisco.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List <linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n <mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n <mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Cc":"Rob Herring <robh@kernel.org>, Ruslan Ruslichenko <rruslich@cisco.com>,\n linux-efi <linux-efi@vger.kernel.org>, \"H. Peter Anvin\" <hpa@zytor.com>,\n Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>,\n \"open list:LINUX FOR POWERPC \\(32-BIT AND 64-BIT\\)\"\n <linuxppc-dev@lists.ozlabs.org>, X86 ML <x86@kernel.org>,\n \"open list:MIPS\" <linux-mips@vger.kernel.org>,\n Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,\n Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,\n Ruslan Bilovol <ruslan.bilovol@gmail.com>, xe-linux-external@cisco.com,\n Andrew Morton <akpm@linux-foundation.org>, Will Deacon <will@kernel.org>,\n Thomas Gleixner <tglx@linutronix.de>","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n <linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"}}]