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.
This commit is contained in:
		
							parent
							
								
									9b710a888e
								
							
						
					
					
						commit
						b13f79a427
					
				
					 2 changed files with 9 additions and 1 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue