Hello community, here is the log from the commit of package grub2 for openSUSE:Factory checked in at 2013-11-22 17:39:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/grub2 (Old) and /work/SRC/openSUSE:Factory/.grub2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grub2" Changes: -------- --- /work/SRC/openSUSE:Factory/grub2/grub2.changes 2013-09-13 14:43:47.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.grub2.new/grub2.changes 2013-11-22 17:39:42.000000000 +0100 @@ -1,0 +2,7 @@ +Fri Nov 22 07:12:16 UTC 2013 - g...@suse.com + +- add grub2-fix-x86_64-efi-startup-stack-alignment.patch and + grub2-fix-x86_64-efi-callwrap-stack-alignment.patch: fix the + stack alignment of x86_64 efi. (bnc#841426) + +------------------------------------------------------------------- New: ---- grub2-fix-x86_64-efi-callwrap-stack-alignment.patch grub2-fix-x86_64-efi-startup-stack-alignment.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ grub2.spec ++++++ --- /var/tmp/diff_new_pack.ipz2gr/_old 2013-11-22 17:39:43.000000000 +0100 +++ /var/tmp/diff_new_pack.ipz2gr/_new 2013-11-22 17:39:43.000000000 +0100 @@ -132,6 +132,8 @@ Patch35: grub2-linguas.sh-no-rsync.patch Patch36: grub2-fix-parsing-of-short-LVM-PV-names.patch Patch37: grub2-fix-descriptor-leak-in-grub_util_is_imsm.patch +Patch38: grub2-fix-x86_64-efi-startup-stack-alignment.patch +Patch39: grub2-fix-x86_64-efi-callwrap-stack-alignment.patch Requires: gettext-runtime %if 0%{?suse_version} >= 1140 Requires: os-prober @@ -248,6 +250,8 @@ %patch35 -p1 %patch36 -p1 %patch37 -p1 +%patch38 -p1 +%patch39 -p1 # Generate po/LINGUAS for message catalogs ... ./linguas.sh ++++++ grub2-fix-x86_64-efi-callwrap-stack-alignment.patch ++++++ >From 4e42521d8c9232b6ee9eac7d8b4945a7479de781 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko <phco...@gmail.com> Date: Fri, 22 Nov 2013 05:40:32 +0100 Subject: * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment. Previously we misaligned stack by 8 in startup.S and compensated for it in callwrap.S. According to ABI docs (EFI and sysv amd64) right behaviour is to align stack in startup.S and keep it aligned in callwrap.S. startup.S part was committed few commits before. This takes care of callwrap.S. Reported by: Gary Lin. References: bnc#841426 Patch-Mainline: yes Signed-off-by: Gary Ching-Pang Lin <g...@suse.com> --- grub-core/kern/x86_64/efi/callwrap.S | 52 ++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/grub-core/kern/x86_64/efi/callwrap.S b/grub-core/kern/x86_64/efi/callwrap.S index 2df95dd..1337fd9 100644 --- a/grub-core/kern/x86_64/efi/callwrap.S +++ b/grub-core/kern/x86_64/efi/callwrap.S @@ -36,94 +36,94 @@ .text FUNCTION(efi_wrap_0) - subq $48, %rsp + subq $40, %rsp call *%rdi - addq $48, %rsp + addq $40, %rsp ret FUNCTION(efi_wrap_1) - subq $48, %rsp + subq $40, %rsp mov %rsi, %rcx call *%rdi - addq $48, %rsp + addq $40, %rsp ret FUNCTION(efi_wrap_2) - subq $48, %rsp + subq $40, %rsp mov %rsi, %rcx call *%rdi - addq $48, %rsp + addq $40, %rsp ret FUNCTION(efi_wrap_3) - subq $48, %rsp + subq $40, %rsp mov %rcx, %r8 mov %rsi, %rcx call *%rdi - addq $48, %rsp + addq $40, %rsp ret FUNCTION(efi_wrap_4) - subq $48, %rsp + subq $40, %rsp mov %r8, %r9 mov %rcx, %r8 mov %rsi, %rcx call *%rdi - addq $48, %rsp + addq $40, %rsp ret FUNCTION(efi_wrap_5) - subq $48, %rsp + subq $40, %rsp mov %r9, 32(%rsp) mov %r8, %r9 mov %rcx, %r8 mov %rsi, %rcx call *%rdi - addq $48, %rsp + addq $40, %rsp ret FUNCTION(efi_wrap_6) - subq $64, %rsp - mov 64+8(%rsp), %rax + subq $56, %rsp + mov 56+8(%rsp), %rax mov %rax, 40(%rsp) mov %r9, 32(%rsp) mov %r8, %r9 mov %rcx, %r8 mov %rsi, %rcx call *%rdi - addq $64, %rsp + addq $56, %rsp ret FUNCTION(efi_wrap_7) - subq $96, %rsp - mov 96+16(%rsp), %rax + subq $88, %rsp + mov 88+16(%rsp), %rax mov %rax, 48(%rsp) - mov 96+8(%rsp), %rax + mov 88+8(%rsp), %rax mov %rax, 40(%rsp) mov %r9, 32(%rsp) mov %r8, %r9 mov %rcx, %r8 mov %rsi, %rcx call *%rdi - addq $96, %rsp + addq $88, %rsp ret FUNCTION(efi_wrap_10) - subq $96, %rsp - mov 96+40(%rsp), %rax + subq $88, %rsp + mov 88+40(%rsp), %rax mov %rax, 72(%rsp) - mov 96+32(%rsp), %rax + mov 88+32(%rsp), %rax mov %rax, 64(%rsp) - mov 96+24(%rsp), %rax + mov 88+24(%rsp), %rax mov %rax, 56(%rsp) - mov 96+16(%rsp), %rax + mov 88+16(%rsp), %rax mov %rax, 48(%rsp) - mov 96+8(%rsp), %rax + mov 88+8(%rsp), %rax mov %rax, 40(%rsp) mov %r9, 32(%rsp) mov %r8, %r9 mov %rcx, %r8 mov %rsi, %rcx call *%rdi - addq $96, %rsp + addq $88, %rsp ret -- 1.8.1.4 ++++++ grub2-fix-x86_64-efi-startup-stack-alignment.patch ++++++ >From 7960d3e1823bd3ea569109dcfe269447c3589fac Mon Sep 17 00:00:00 2001 From: Josh Triplett <j...@joshtriplett.org> Date: Tue, 19 Nov 2013 14:31:40 +0100 Subject: * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a 16-byte boundary, as required by the x86-64 ABI, before calling grub_main. In some cases, GCC emits code that assumes this alignment, which crashes if not aligned. The EFI firmware is also entitled to assume that stack alignment without checking. References: bnc#841426 Patch-Mainline: yes Signed-off-by: Gary Ching-Pang Lin <g...@suse.com> --- grub-core/kern/x86_64/efi/startup.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/grub-core/kern/x86_64/efi/startup.S b/grub-core/kern/x86_64/efi/startup.S index f86f019..9357e5c 100644 --- a/grub-core/kern/x86_64/efi/startup.S +++ b/grub-core/kern/x86_64/efi/startup.S @@ -30,6 +30,6 @@ _start: movq %rcx, EXT_C(grub_efi_image_handle)(%rip) movq %rdx, EXT_C(grub_efi_system_table)(%rip) + andq $~0xf, %rsp call EXT_C(grub_main) - ret - + /* Doesn't return. */ -- 1.8.1.4 -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org