summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/machine_kexec_file.c
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2026-02-03 10:18:03 +0100
committerHeiko Carstens <hca@linux.ibm.com>2026-02-03 12:48:28 +0100
commitf8a9c11000e52a8e59f15e49edaf5a2857705f9a (patch)
tree233e7aae846674cf05f4e87d237bc5a0e3702eba /arch/s390/kernel/machine_kexec_file.c
parentb8555fbc16311346ccf332010898c6307ec145c3 (diff)
downloadlinux-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.c4
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);