Your message dated Tue, 6 Sep 2011 09:18:57 +0100
with message-id <[email protected]>
has caused the report #632048,
regarding grub-pc: segfault with /boot on a LVM volume, using PV on mdadm RAID-1
to be marked as having been forwarded to the upstream software
author(s) [email protected]
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
632048: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632048
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
On Tue, Sep 06, 2011 at 08:39:24AM +0100, Stephane Chazelas wrote:
> I do get a segfault as well when doing a grub-setup/grub-install
> on a mdraid with 1.2 metadata.
>
> The segv is in:
>
> grub_util_biosdisk_is_floppy() because the disk->id for the root
> device is not a bios disk id, but a big number that is the
> "array id". The patch below seems to fix it for me, though I
> can't tell it's the right fix or not (probably not).
This fix makes sense to me; calling grub_util_biosdisk_is_floppy on
disks that aren't GRUB_DISK_DEVICE_BIOSDISK_ID doesn't make sense.
grub-devel, second opinion?
> --- a/util/grub-setup.c 2011-09-05 12:11:31.864955442 +0100
> +++ b/util/grub-setup.c 2011-09-05 13:00:24.891368760 +0100
> @@ -315,7 +315,7 @@
> /* If DEST_DRIVE is a hard disk, enable the workaround, which is
> for buggy BIOSes which don't pass boot drive correctly. Instead,
> they pass 0x00 or 0x01 even when booted from 0x80. */
> - if (!allow_floppy && !grub_util_biosdisk_is_floppy (dest_dev->disk))
> + if (!allow_floppy && dest_dev->disk->dev->id ==
> GRUB_DISK_DEVICE_BIOSDISK_ID && !grub_util_biosdisk_is_floppy
> (dest_dev->disk))
> /* Replace the jmp (2 bytes) with double nop's. */
> *boot_drive_check = 0x9090;
> }
Thanks,
--
Colin Watson [[email protected]]
--- End Message ---