[PATCH] sparc64: Fix BIOS Boot Partition support
Currently, gpt_offset is uninitialised when using a BIOS Boot Partition but is used unconditionally inside save_blocklists. Instead, ensure it is always initialised to 0 (note that there is already separate code to do the equivalent adjustment after we call save_blocklists on this code path). This patch has been tested on a T5-2 LDOM. Signed-off-by: James Clarke <jrtc27@jrtc27.com> Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-by: Eric Snowberg <eric.snowberg@oracle.com> --- util/setup.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
This commit is contained in:
parent
8f6843ce60
commit
4e75b2ae31
1 changed files with 3 additions and 1 deletions
|
@ -270,6 +270,9 @@ SETUP (const char *dir,
|
||||||
#ifdef GRUB_SETUP_BIOS
|
#ifdef GRUB_SETUP_BIOS
|
||||||
bl.current_segment =
|
bl.current_segment =
|
||||||
GRUB_BOOT_I386_PC_KERNEL_SEG + (GRUB_DISK_SECTOR_SIZE >> 4);
|
GRUB_BOOT_I386_PC_KERNEL_SEG + (GRUB_DISK_SECTOR_SIZE >> 4);
|
||||||
|
#endif
|
||||||
|
#ifdef GRUB_SETUP_SPARC64
|
||||||
|
bl.gpt_offset = 0;
|
||||||
#endif
|
#endif
|
||||||
bl.last_length = 0;
|
bl.last_length = 0;
|
||||||
|
|
||||||
|
@ -730,7 +733,6 @@ unable_to_embed:
|
||||||
#ifdef GRUB_SETUP_SPARC64
|
#ifdef GRUB_SETUP_SPARC64
|
||||||
{
|
{
|
||||||
grub_partition_t container = root_dev->disk->partition;
|
grub_partition_t container = root_dev->disk->partition;
|
||||||
bl.gpt_offset = 0;
|
|
||||||
|
|
||||||
if (grub_strstr (container->partmap->name, "gpt"))
|
if (grub_strstr (container->partmap->name, "gpt"))
|
||||||
bl.gpt_offset = grub_partition_get_start (container);
|
bl.gpt_offset = grub_partition_get_start (container);
|
||||||
|
|
Loading…
Reference in a new issue