diff options
author | Sven Schnelle <svens@linux.ibm.com> | 2021-12-16 12:43:52 +0100 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2022-01-14 15:58:06 +0100 |
commit | defb80a20bf1e4d778596ce2447e19d44f31ae5a (patch) | |
tree | db2e94f805fc02f89cb874fb02eb457af4cb4b26 /kexec/arch/s390/crashdump-s390.c | |
parent | b5a34a20984c4ad27cc5054d9957af8130b42a50 (diff) |
s390: add variable command line size
Newer s390 kernels support a command line size longer than 896
bytes. Such kernels contain a new member in the parameter area,
which might be utilized by tools like kexec. Older kernels have
the location initialized to zero, so we check whether there's a
non-zero number present and use that. If there isn't, we fallback
to the legacy command line size of 896 bytes.
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/s390/crashdump-s390.c')
-rw-r--r-- | kexec/arch/s390/crashdump-s390.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kexec/arch/s390/crashdump-s390.c b/kexec/arch/s390/crashdump-s390.c index 10f4d60..3bd9efe 100644 --- a/kexec/arch/s390/crashdump-s390.c +++ b/kexec/arch/s390/crashdump-s390.c @@ -52,7 +52,8 @@ static int create_elf_header(struct kexec_info *info, unsigned long crash_base, elfcorehdr_size = bufsz; snprintf(str, sizeof(str), " elfcorehdr=%ld@%ldK\n", elfcorehdr_size, elfcorehdr / 1024); - command_line_add(str); + if (command_line_add(info, str)) + return -1; #endif return 0; } |