diff options
| author | Vasily Gorbik <gor@linux.ibm.com> | 2026-02-03 10:18:03 +0100 |
|---|---|---|
| committer | Heiko Carstens <hca@linux.ibm.com> | 2026-02-03 12:48:28 +0100 |
| commit | f8a9c11000e52a8e59f15e49edaf5a2857705f9a (patch) | |
| tree | 233e7aae846674cf05f4e87d237bc5a0e3702eba /arch/s390/kernel/machine_kexec_file.c | |
| parent | b8555fbc16311346ccf332010898c6307ec145c3 (diff) | |
| download | linux-next-f8a9c11000e52a8e59f15e49edaf5a2857705f9a.tar.gz linux-next-f8a9c11000e52a8e59f15e49edaf5a2857705f9a.zip | |
s390/kexec: Emit an error message when cmdline is too long
Currently, if the command line passed to kexec_file_load() exceeds
the supported limit of the kernel being kexec'd, -EINVAL is returned
to userspace, which is consistent across architectures. Since
-EINVAL is not specific to this case, the kexec tool cannot provide
a specific reason for the failure. Many architectures emit an error
message in this case. Add a similar error message, including the
effective limit, since the command line length is configurable.
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/machine_kexec_file.c')
| -rw-r--r-- | arch/s390/kernel/machine_kexec_file.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/kernel/machine_kexec_file.c b/arch/s390/kernel/machine_kexec_file.c index a36d7311c668..1bf59c3f0e2b 100644 --- a/arch/s390/kernel/machine_kexec_file.c +++ b/arch/s390/kernel/machine_kexec_file.c @@ -270,8 +270,10 @@ void *kexec_file_add_components(struct kimage *image, if (image->kernel_buf_len < minsize + max_command_line_size) goto out; - if (image->cmdline_buf_len >= max_command_line_size) + if (image->cmdline_buf_len >= max_command_line_size) { + pr_err("Kernel command line exceeds supported limit of %lu", max_command_line_size); goto out; + } memcpy(data.parm->command_line, image->cmdline_buf, image->cmdline_buf_len); |
