WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH][TOOLS] libfsimage: make pygrub work on ufs

To: Christoph Egger <Christoph.Egger@xxxxxxx>
Subject: Re: [Xen-devel] [PATCH][TOOLS] libfsimage: make pygrub work on ufs
From: John Levon <levon@xxxxxxxxxxxxxxxxx>
Date: Mon, 9 Jun 2008 16:50:33 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 09 Jun 2008 08:51:13 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <200806091559.45511.Christoph.Egger@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <200806091559.45511.Christoph.Egger@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.9i
On Mon, Jun 09, 2008 at 03:59:45PM +0200, Christoph Egger wrote:

> Attached patch makes pygrub work on ufs.

> @@ -32,8 +32,9 @@
>  #define SUPERBLOCK ((struct fs *)(FSYS_BUF + 0x2000))
>  #define      INODE ((struct icommon *)(FSYS_BUF + 0x1000))
>  #define DIRENT (FSYS_BUF + 0x4000)
> +#define MAXBSIZE ((FSYS_BUFLEN - 0x4000) / 2)
>  #define INDIRBLK1 ((grub_daddr32_t *)(FSYS_BUF + 0x4000)) /* 2+ indir blk */
> -#define      INDIRBLK0 ((grub_daddr32_t *)(FSYS_BUF+ 0x6000))  /* 1st 
> indirect blk */
> +#define      INDIRBLK0 ((grub_daddr32_t *)(FSYS_BUF+ 0x4000 + MAXBSIZE))  /* 
> 1st indirect blk */

This is a no-op, right? I'm not sure why you made this change?

>  #define      indirblk0 (*fsig_int1(ffi))
>  #define      indirblk1 (*fsig_int2(ffi))
> @@ -48,7 +49,8 @@ ufs_mount(fsi_file_t *ffi, const char *o
>  {
>       if (/*! IS_PC_SLICE_TYPE_SOLARIS(current_slice) || */
>           !devread(ffi, UFS_SBLOCK, 0, UFS_SBSIZE, (char *)SUPERBLOCK) ||
> -         SUPERBLOCK->fs_magic != UFS_MAGIC)
> +         SUPERBLOCK->fs_magic != UFS_MAGIC ||
> +         MAXBSIZE < SUPERBLOCK->fs_bsize)
>               return 0;

And all this does is make the mount checks stricter?

regards
john

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel