diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 12:44:50 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 12:44:50 -0400 |
commit | 28f23d1f3b6a6078312b6e9585e583cc7326fe22 (patch) | |
tree | db366c75c2e2d12a2a2c3b7299c35ef7c72928a4 /arch/x86/boot | |
parent | 23904815461ba223a8baf7490051597fa054299b (diff) | |
parent | c7b738351ba92f48b943ac59aff6b5b0f17f37c9 (diff) |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 "urgent" leftovers from Ingo Molnar:
"Pending x86/urgent bits that were not high prio enough to warrant
-rc-less v3.3-final inclusion."
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86, efi: Fix pointer math issue in handle_ramdisks()
x86/ioapic: Add register level checks to detect bogus io-apic entries
x86, mce: Fix rcu splat in drain_mce_log_buffer()
x86, memblock: Move mem_hole_size() to .init
Diffstat (limited to 'arch/x86/boot')
-rw-r--r-- | arch/x86/boot/compressed/eboot.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c index fec216f4fbc3..0cdfc0d2315e 100644 --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c | |||
@@ -539,7 +539,7 @@ static efi_status_t handle_ramdisks(efi_loaded_image_t *image, | |||
539 | struct initrd *initrd; | 539 | struct initrd *initrd; |
540 | efi_file_handle_t *h; | 540 | efi_file_handle_t *h; |
541 | efi_file_info_t *info; | 541 | efi_file_info_t *info; |
542 | efi_char16_t filename[256]; | 542 | efi_char16_t filename_16[256]; |
543 | unsigned long info_sz; | 543 | unsigned long info_sz; |
544 | efi_guid_t info_guid = EFI_FILE_INFO_ID; | 544 | efi_guid_t info_guid = EFI_FILE_INFO_ID; |
545 | efi_char16_t *p; | 545 | efi_char16_t *p; |
@@ -552,14 +552,14 @@ static efi_status_t handle_ramdisks(efi_loaded_image_t *image, | |||
552 | str += 7; | 552 | str += 7; |
553 | 553 | ||
554 | initrd = &initrds[i]; | 554 | initrd = &initrds[i]; |
555 | p = filename; | 555 | p = filename_16; |
556 | 556 | ||
557 | /* Skip any leading slashes */ | 557 | /* Skip any leading slashes */ |
558 | while (*str == '/' || *str == '\\') | 558 | while (*str == '/' || *str == '\\') |
559 | str++; | 559 | str++; |
560 | 560 | ||
561 | while (*str && *str != ' ' && *str != '\n') { | 561 | while (*str && *str != ' ' && *str != '\n') { |
562 | if (p >= filename + sizeof(filename)) | 562 | if ((u8 *)p >= (u8 *)filename_16 + sizeof(filename_16)) |
563 | break; | 563 | break; |
564 | 564 | ||
565 | *p++ = *str++; | 565 | *p++ = *str++; |
@@ -583,7 +583,7 @@ static efi_status_t handle_ramdisks(efi_loaded_image_t *image, | |||
583 | goto free_initrds; | 583 | goto free_initrds; |
584 | } | 584 | } |
585 | 585 | ||
586 | status = efi_call_phys5(fh->open, fh, &h, filename, | 586 | status = efi_call_phys5(fh->open, fh, &h, filename_16, |
587 | EFI_FILE_MODE_READ, (u64)0); | 587 | EFI_FILE_MODE_READ, (u64)0); |
588 | if (status != EFI_SUCCESS) | 588 | if (status != EFI_SUCCESS) |
589 | goto close_handles; | 589 | goto close_handles; |