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>
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);