From: fli <[email protected]>
Commit 35d5134b7d5a
("x86/efi: Correct EFI boot stub use of code32_start")
imported a bug, which will cause 32bit kernel boot failed
using efi method. It should use the label's address instead
of the value stored in the label to caculate the address of
code32_start.
Signed-off-by: Fupan Li <[email protected]>
---
arch/x86/boot/compressed/head_32.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
index abb988a..3b28eff 100644
--- a/arch/x86/boot/compressed/head_32.S
+++ b/arch/x86/boot/compressed/head_32.S
@@ -54,7 +54,7 @@ ENTRY(efi_pe_entry)
call reloc
reloc:
popl %ecx
- subl reloc, %ecx
+ subl $reloc, %ecx
movl %ecx, BP_code32_start(%eax)
sub $0x4, %esp
--
1.9.1
On Mon, 03 Aug, at 10:02:49AM, [email protected] wrote:
> From: fli <[email protected]>
>
> Commit 35d5134b7d5a
> ("x86/efi: Correct EFI boot stub use of code32_start")
> imported a bug, which will cause 32bit kernel boot failed
> using efi method. It should use the label's address instead
> of the value stored in the label to caculate the address of
> code32_start.
>
> Signed-off-by: Fupan Li <[email protected]>
> ---
> arch/x86/boot/compressed/head_32.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Matt Fleming <[email protected]>
--
Matt Fleming, Intel Open Source Technology Center
On Mon, Aug 03, 2015 at 10:02:49AM +0800, [email protected] wrote:
> From: fli <[email protected]>
This needs to match the signed-off-by line, otherwise I can't take it :(
Please fix up and resend.
And what -stable tree is this for?
thanks,
greg k-h
On Mon, 2015-08-03 at 09:15 -0700, Greg KH wrote:
> On Mon, Aug 03, 2015 at 10:02:49AM +0800, [email protected] wrot
> e:
> > From: fli <[email protected]>
>
> This needs to match the signed-off-by line, otherwise I can't take it
> :(
>
> Please fix up and resend.
>
> And what -stable tree is this for?
The bug was introduced in 35d5134b7d5a on the 3.10 branch, but the same
bug in the backport seems to have been introduced on the 3.14 branch
and two others you don't maintain:
v3.10.39: 35d5134b7d5a x86/efi: Correct EFI boot stub use of code32_start
v3.12.20: 065487a10a22 x86/efi: Correct EFI boot stub use of code32_start
v3.14.3: 45ada9fae6d8 x86/efi: Correct EFI boot stub use of code32_start
v3.11.10.11: f32e88d764e3 x86/efi: Correct EFI boot stub use of code32_start
Ben.
--
Ben Hutchings
Unix is many things to many people,
but it's never been everything to anybody.