From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1Z8NZ4-0007ub-Li for mharc-grub-devel@gnu.org; Fri, 26 Jun 2015 02:56:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51230) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z8NZ1-0007rN-Ip for grub-devel@gnu.org; Fri, 26 Jun 2015 02:56:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z8NYy-00067f-2r for grub-devel@gnu.org; Fri, 26 Jun 2015 02:56:39 -0400 Received: from mail-la0-x233.google.com ([2a00:1450:4010:c03::233]:33033) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z8NYx-00067T-Rk for grub-devel@gnu.org; Fri, 26 Jun 2015 02:56:36 -0400 Received: by laka10 with SMTP id a10so58056801lak.0 for ; Thu, 25 Jun 2015 23:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=+hiw+Ko++owjbMQzSKXTQ/W6jo1IrE89NUCdWisDCVA=; b=VeQO62Qj1zsYkkhmRMiBgxwHvXku7g/Xs6g3DH+3MheTa/yoBMzJTetMsZ3oC7DjLg 0I8zW9R742KTfwceOOW9iI8NOIJWaf5KUzCjMcVzhx7LTWlB3czhQax6G3kj791EJZeQ zi4VvJm1YxgXYfzYvxctC1BFoJmmdb6HVAjym6iYFcy6UdBdh4l/anypv3iMJ0uWVk4Q ht0hbIgY3BaJQwuhVYsVTfS88JUUbAT8Qsu1kcPwgjrFO1Joxeyf+Gs80zIdmG9uOdso 2Pkyr6HkXmBDu9q9HY5lPn5pKxt1C5FOX2k0761zo2KFsPd0aSJRjzyqZaQA8rR9aKxY 92jA== X-Received: by 10.152.21.5 with SMTP id r5mr157556lae.24.1435301795044; Thu, 25 Jun 2015 23:56:35 -0700 (PDT) Received: from opensuse.site (ppp91-76-14-38.pppoe.mtu-net.ru. [91.76.14.38]) by mx.google.com with ESMTPSA id 4sm7885725lai.36.2015.06.25.23.56.34 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Jun 2015 23:56:34 -0700 (PDT) Date: Fri, 26 Jun 2015 09:56:33 +0300 From: Andrei Borzenkov To: Michael Chang Subject: Re: [PATCH] Fix missing byte order conversion in get_btrfs_fs_prefix function Message-ID: <20150626095633.1c598609@opensuse.site> In-Reply-To: <1434962727-16154-1-git-send-email-mchang@suse.com> References: <1434962727-16154-1-git-send-email-mchang@suse.com> X-Mailer: Claws Mail 3.11.0 (GTK+ 2.24.28; x86_64-suse-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::233 Cc: grub-devel@gnu.org X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jun 2015 06:56:41 -0000 =D0=92 Mon, 22 Jun 2015 16:45:27 +0800 Michael Chang =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > Since btrfs on-disk format uses little-endian, the searched item types > (ROOT_REF, INODE_REF) need converting the byte order in order to > function properly on big-endian systems. Applied. Thanks! > --- > grub-core/osdep/linux/getroot.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) >=20 > diff --git a/grub-core/osdep/linux/getroot.c b/grub-core/osdep/linux/getr= oot.c > index a2e360f..3978c71 100644 > --- a/grub-core/osdep/linux/getroot.c > +++ b/grub-core/osdep/linux/getroot.c > @@ -316,9 +316,9 @@ get_btrfs_fs_prefix (const char *mount_path) > =20 > tree_id =3D sargs.buf[2]; > br =3D (struct grub_btrfs_root_backref *) (sargs.buf + 4); > - inode_id =3D br->inode_id; > + inode_id =3D grub_le_to_cpu64 (br->inode_id); > name =3D br->name; > - namelen =3D br->n; > + namelen =3D grub_le_to_cpu16 (br->n); > } > else > { > @@ -345,7 +345,7 @@ get_btrfs_fs_prefix (const char *mount_path) > =20 > ir =3D (struct grub_btrfs_inode_ref *) (sargs.buf + 4); > name =3D ir->name; > - namelen =3D ir->n; > + namelen =3D grub_le_to_cpu16 (ir->n); > } > old =3D ret; > ret =3D xmalloc (namelen + (old ? strlen (old) : 0) + 2);