Re: [PATCH RESEND] Documentation: update kernel parameter limit notes

From: Randy Dunlap
Date: Sun Mar 05 2023 - 18:17:21 EST


Hi James,

On 2/28/23 11:05, James Addison wrote:
> There does appear to be a limit on the number of parameters accepted by the
> kernel at boot-time, so this changeset updates the kernel-parameters.rst
> documentation to reflect that.

I looked at this again. It's not a limit on the number of kernel command line
parameters AFAICT. It's a limit on the number of parameters that are passed to
the init process. Basically any parameter that is not recognized as a kernel
parameter OR anything that is after "--" on the kernel command line is put into
an array of limited size for passing to the init process.

> Signed-off-by: James Addison <jay@xxxxxxxxxxxxxx>
> ---
> Documentation/admin-guide/kernel-parameters.rst | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.rst
> b/Documentation/admin-guide/kernel-parameters.rst
> index 19600c502..a3a099127 100644
> --- a/Documentation/admin-guide/kernel-parameters.rst
> +++ b/Documentation/admin-guide/kernel-parameters.rst
> @@ -203,7 +203,8 @@ be entered as an environment variable, whereas its
> absence indicates that
> it will appear as a kernel argument readable via /proc/cmdline by programs
> running once the system is up.
>
> -The number of kernel parameters is not limited, but the length of the
> +The number of kernel parameters is limited to 32 by default (128 in User Mode
> +Linux), and is defined in ./init/main.c as MAX_INIT_ARGS. The length of the
> complete command line (parameters including spaces etc.) is limited to
> a fixed number of characters. This limit depends on the architecture
> and is between 256 and 4096 characters. It is defined in the file
>
> base-commit: e492250d5252635b6c97d52eddf2792ec26f1ec1

--
~Randy