]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fix stack pointer handling in 16-bit relocator.
authorColin Watson <cjwatson@ubuntu.com>
Wed, 20 Apr 2011 23:07:22 +0000 (00:07 +0100)
committerColin Watson <cjwatson@ubuntu.com>
Wed, 20 Apr 2011 23:07:22 +0000 (00:07 +0100)
* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
Fixes Ubuntu bug #683904.

ChangeLog
grub-core/lib/i386/relocator16.S

index 083d22ec5e757d393dd3932f2410974ef04d8db1..98d3b0ea86b6795dc3aa4b4d1f7cf33056dfd05d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-04-21  Colin Watson  <cjwatson@ubuntu.com>
+
+       Fix stack pointer handling in 16-bit relocator.
+
+       * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
+       grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
+       Fixes Ubuntu bug #683904.
+
 2011-04-20  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * configure.ac: Bump version to 1.99~rc2.
index c3768f4eb3e0a3399d6109ed666ab50470594bdb..982415de4a46345fa4a18997eb53f78a6849465d 100644 (file)
@@ -130,7 +130,7 @@ VARIABLE(grub_relocator16_ss)
        .byte   0xb8
 VARIABLE(grub_relocator16_sp)
        .word   0
-       movw    %ax, %ss
+       movzwl  %ax, %esp
 
        /* movw imm32, %edx.  */
        .byte   0x66, 0xba