public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
From: Bob Peterson <rpeterso@fedoraproject.org>
To: cluster-cvs-relay@redhat.com
Subject: gfs2-utils: master - gfs2_edit produces unaligned access
Date: Sun, 19 Jul 2009 04:41:00 -0000	[thread overview]
Message-ID: <20090719044144.31DCF120269@lists.fedorahosted.org> (raw)

Gitweb:        http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitdiff;h=60d5d7cbd26888177653a766bd476c307b091074
Commit:        60d5d7cbd26888177653a766bd476c307b091074
Parent:        5305e878a987b90caf498f0bc5a92ae7ba8fa57d
Author:        Bob Peterson <rpeterso@redhat.com>
AuthorDate:    Sat Jul 18 23:37:15 2009 -0500
Committer:     Bob Peterson <rpeterso@redhat.com>
CommitterDate: Sat Jul 18 23:43:08 2009 -0500

gfs2_edit produces unaligned access

bz 503530
---
 gfs2/edit/hexedit.c  |    5 ++---
 gfs2/edit/savemeta.c |   10 +++++++---
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index 5c66995..17d8d7d 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -800,9 +800,8 @@ static void rgcount(void)
 /* ------------------------------------------------------------------------ */
 static uint64_t find_rgrp_block(struct gfs2_inode *dif, int rg)
 {
-	char fbuf[sizeof(struct gfs2_rindex)];
 	int amt;
-	struct gfs2_rindex ri;
+	struct gfs2_rindex fbuf, ri;
 	uint64_t foffset, gfs1_adj = 0;
 
 	foffset = rg * risize();
@@ -817,7 +816,7 @@ static uint64_t find_rgrp_block(struct gfs2_inode *dif, int rg)
 	amt = gfs2_readi(dif, (void *)&fbuf, foffset + gfs1_adj, risize());
 	if (!amt) /* end of file */
 		return 0;
-	gfs2_rindex_in(&ri, fbuf);
+	gfs2_rindex_in(&ri, (void *)&fbuf);
 	return ri.ri_addr;
 }
 
diff --git a/gfs2/edit/savemeta.c b/gfs2/edit/savemeta.c
index d1b6984..fd7a29f 100644
--- a/gfs2/edit/savemeta.c
+++ b/gfs2/edit/savemeta.c
@@ -54,12 +54,13 @@ extern void read_superblock(void);
  */
 static int get_gfs_struct_info(char *gbuf, int *block_type, int *gstruct_len)
 {
-	struct gfs2_meta_header mh;
+	struct gfs2_meta_header mh, mhbuf;
 
 	*block_type = 0;
 	*gstruct_len = sbd.bsize;
 
-	gfs2_meta_header_in(&mh, gbuf);
+	memcpy(&mhbuf, gbuf, sizeof(mhbuf));
+	gfs2_meta_header_in(&mh, (void *)&mhbuf);
 	if (mh.mh_magic != GFS2_MAGIC)
 		return -1;
 
@@ -784,7 +785,10 @@ static int restore_data(int fd, int in_fd, int printblocksonly)
 				exit(-1);
 			}
 			if (first) {
-				gfs2_sb_in(&sbd.sd_sb, savedata->buf);
+				struct gfs2_sb bufsb;
+
+				memcpy(&bufsb, savedata->buf, sizeof(bufsb));
+				gfs2_sb_in(&sbd.sd_sb, (void *)&bufsb);
 				sbd1 = (struct gfs_sb *)&sbd.sd_sb;
 				if (sbd1->sb_fs_format == GFS_FORMAT_FS &&
 				    sbd1->sb_header.mh_type ==


                 reply	other threads:[~2009-07-19  4:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090719044144.31DCF120269@lists.fedorahosted.org \
    --to=rpeterso@fedoraproject.org \
    --cc=cluster-cvs-relay@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).