diff options
-rw-r--r-- | arch/x86/kernel/kexec-bzimage64.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c index 3182908b7e6c..7326078eaa7a 100644 --- a/arch/x86/kernel/kexec-bzimage64.c +++ b/arch/x86/kernel/kexec-bzimage64.c | |||
@@ -398,11 +398,10 @@ static void *bzImage64_load(struct kimage *image, char *kernel, | |||
398 | * little bit simple | 398 | * little bit simple |
399 | */ | 399 | */ |
400 | efi_map_sz = efi_get_runtime_map_size(); | 400 | efi_map_sz = efi_get_runtime_map_size(); |
401 | efi_map_sz = ALIGN(efi_map_sz, 16); | ||
402 | params_cmdline_sz = sizeof(struct boot_params) + cmdline_len + | 401 | params_cmdline_sz = sizeof(struct boot_params) + cmdline_len + |
403 | MAX_ELFCOREHDR_STR_LEN; | 402 | MAX_ELFCOREHDR_STR_LEN; |
404 | params_cmdline_sz = ALIGN(params_cmdline_sz, 16); | 403 | params_cmdline_sz = ALIGN(params_cmdline_sz, 16); |
405 | kbuf.bufsz = params_cmdline_sz + efi_map_sz + | 404 | kbuf.bufsz = params_cmdline_sz + ALIGN(efi_map_sz, 16) + |
406 | sizeof(struct setup_data) + | 405 | sizeof(struct setup_data) + |
407 | sizeof(struct efi_setup_data); | 406 | sizeof(struct efi_setup_data); |
408 | 407 | ||
@@ -410,7 +409,7 @@ static void *bzImage64_load(struct kimage *image, char *kernel, | |||
410 | if (!params) | 409 | if (!params) |
411 | return ERR_PTR(-ENOMEM); | 410 | return ERR_PTR(-ENOMEM); |
412 | efi_map_offset = params_cmdline_sz; | 411 | efi_map_offset = params_cmdline_sz; |
413 | efi_setup_data_offset = efi_map_offset + efi_map_sz; | 412 | efi_setup_data_offset = efi_map_offset + ALIGN(efi_map_sz, 16); |
414 | 413 | ||
415 | /* Copy setup header onto bootparams. Documentation/x86/boot.txt */ | 414 | /* Copy setup header onto bootparams. Documentation/x86/boot.txt */ |
416 | setup_header_size = 0x0202 + kernel[0x0201] - setup_hdr_offset; | 415 | setup_header_size = 0x0202 + kernel[0x0201] - setup_hdr_offset; |