From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1MSFJk-0007v6-PC for mharc-grub-devel@gnu.org; Sat, 18 Jul 2009 15:11:32 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MSFJj-0007us-FE for grub-devel@gnu.org; Sat, 18 Jul 2009 15:11:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MSFJe-0007uL-Fz for grub-devel@gnu.org; Sat, 18 Jul 2009 15:11:30 -0400 Received: from [199.232.76.173] (port=56402 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MSFJe-0007uI-9H for grub-devel@gnu.org; Sat, 18 Jul 2009 15:11:26 -0400 Received: from aybabtu.com ([69.60.117.155]:48624) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MSFJd-00071d-To for grub-devel@gnu.org; Sat, 18 Jul 2009 15:11:26 -0400 Received: from [192.168.10.10] (helo=thorin) by aybabtu.com with esmtp (Exim 4.69) (envelope-from ) id 1MSEEC-0003Dg-3c for grub-devel@gnu.org; Sat, 18 Jul 2009 20:01:46 +0200 Received: from rmh by thorin with local (Exim 4.69) (envelope-from ) id 1MSFJS-0003aK-L9 for grub-devel@gnu.org; Sat, 18 Jul 2009 21:11:14 +0200 Date: Sat, 18 Jul 2009 21:11:14 +0200 From: Robert Millan To: The development of GRUB 2 Message-ID: <20090718191114.GK8867@thorin> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.18 (2008-05-17) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 1) Subject: Re: [PATCH] Bug fix for LVM X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Jul 2009 19:11:31 -0000 On Sat, Jul 18, 2009 at 10:11:19PM +0800, Bean wrote: > } > > grub_raid_rescan (); > + grub_lvm_fini (); > + grub_lvm_init (); This is aside from this patch, but I don't see the purpose of this grub_raid_rescan() function. It's in raid.mod but only used by grub-fstest, so at least it should be #ifdef'ed out, but looking at what it does, it seems very ad-hoc. It basically amounts to the same you're doing with grub_lvm_fini() and grub_lvm_init(). Could you fix this while at it? > #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) > if (! grub_util_check_char_device (device_name)) > - grub_util_error ("%s is not a character device.\n", device_name); > + grub_util_error ("%s is not a character device.\n", device_name); > #else > if (! grub_util_check_block_device (device_name)) > - grub_util_error ("%s is not a block device.\n", device_name); > + grub_util_error ("%s is not a block device.\n", device_name); > #endif Looks like this slipped in. > + if (print == PRINT_ABSTRACTION) > + { > + char buf[30]; This is a buffer overflow waiting to happen. Please use asprintf(), this will help you avoid the "&buf[1]" hack. > + grub_disk_memberlist_t list = NULL, tmp; > + int is_lvm = 0; > + int is_raid = 0; I think you can add const qualifier in the is_lvm one. > + is_lvm = (dev->disk->dev->id == GRUB_DISK_DEVICE_LVM_ID); > + is_raid |= (dev->disk->dev->id == GRUB_DISK_DEVICE_RAID_ID); No need for logic OR here. -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all."