[PW_SID:1141196] init/Kconfig: generalize config COMMAND_LINE_SIZE - #2420
[PW_SID:1141196] init/Kconfig: generalize config COMMAND_LINE_SIZE#2420linux-riscv-bot wants to merge 4 commits into
Conversation
Currently, only s390 has the ability to configure the maximum kernel command line size via Kconfig (CONFIG_COMMAND_LINE_SIZE). Other architectures define a hardcoded COMMAND_LINE_SIZE macro in their setup.sh headers. In some use cases, such as netboot kernels, rootfs configurations, larger initramfs setups, require larger sizes. While for embedded workloads, it can be reduced to save memory. Move config COMMAND_LINE_SIZE out of arch/s390/Kconfig and into init/Kconfig under General setup so that all architectures can configure their maximum command line length. The default values were added to keep the values unchanged. Originally-by: Maciej Żenczykowski <maze@google.com> Signed-off-by: Wilson Felipe Pereira <wfelipe@google.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Now that CONFIG_COMMAND_LINE_SIZE is available in init/Kconfig for all architectures, update every architecture's setup.h header to define COMMAND_LINE_SIZE as CONFIG_COMMAND_LINE_SIZE. For user-space API (uapi) headers, wrap the definition in an `#ifdef __KERNEL__` guard and retain the historical hardcoded default in the `#else` block. When user-space headers are installed via `make headers_install`, unifdef strips out the kernel section, ensuring same value as before for user-space applications including `<asm/setup.h>`. Originally-by: Maciej Żenczykowski <maze@google.com> Signed-off-by: Wilson Felipe Pereira <wfelipe@google.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
INIT_ENV_ARG_LIMIT is defined without a prompt string (`int`), making it
a hidden Kconfig symbol that defaults to 32 (or 128 for UML) and cannot
be configured in `make menuconfig`.
Now that CONFIG_COMMAND_LINE_SIZE is configurable across all architectures,
users who select larger kernel command lines (e.g., 4096 bytes) may pass
more than 32 command-line arguments or environment variables (`foo=bar`) to
`/sbin/init`. If INIT_ENV_ARG_LIMIT remains hardcoded at 32, any argument
after the 32nd is silently dropped when the kernel executes init.
Add a prompt string ("Maximum number of kernel command line arguments") and
a `range 32 4096` to `config INIT_ENV_ARG_LIMIT` so that users can
configure their init argument and environment variable limit when needed,
while preserving the existing default of 32 for standard builds.
Originally-by: Maciej Żenczykowski <maze@google.com>
Signed-off-by: Wilson Felipe Pereira <wfelipe@google.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 1: "[1/3] init/Kconfig: generalize config COMMAND_LINE_SIZE to all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 2: "[2/3] arch: use CONFIG_COMMAND_LINE_SIZE across all architectures" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
|
Patch 3: "[3/3] init/Kconfig: make config INIT_ENV_ARG_LIMIT user-configurable" |
abf8962 to
9fa746d
Compare
PR for series 1141196 applied to workflow__riscv__fixes
Name: init/Kconfig: generalize config COMMAND_LINE_SIZE
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1141196
Version: 1