summaryrefslogtreecommitdiffstats
path: root/sbin/newfs_msdos
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2011-11-11 20:31:48 +0000
committerdelphij <delphij@FreeBSD.org>2011-11-11 20:31:48 +0000
commit40c712d971096ac83d3d588995c3e39b87590be4 (patch)
tree6648be60fdcdd372dcb1540d7724c8ac41738305 /sbin/newfs_msdos
parent1e05ea8cdd127f19338532de7a2f316077d9a108 (diff)
downloadFreeBSD-src-40c712d971096ac83d3d588995c3e39b87590be4.zip
FreeBSD-src-40c712d971096ac83d3d588995c3e39b87590be4.tar.gz
Use __packed to prevent alignment from taking place, which otherwise may
change the on-disk format in an incompatible way. Without this change, msdosfs created on FreeBSD/arm would not be mountable. PR: bin/162486 Submitted by: Ian Lepore <freebsd damnhippie dyndns org> Reported by: Mattia Rossi <mrossi at swin.edu.au> MFC after: 3 days
Diffstat (limited to 'sbin/newfs_msdos')
-rw-r--r--sbin/newfs_msdos/newfs_msdos.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sbin/newfs_msdos/newfs_msdos.c b/sbin/newfs_msdos/newfs_msdos.c
index 6d8fa7e..c7ec59b 100644
--- a/sbin/newfs_msdos/newfs_msdos.c
+++ b/sbin/newfs_msdos/newfs_msdos.c
@@ -99,7 +99,7 @@ static const char rcsid[] =
struct bs {
u_int8_t bsJump[3]; /* bootstrap entry point */
u_int8_t bsOemName[8]; /* OEM name and version */
-};
+} __packed;
struct bsbpb {
u_int8_t bpbBytesPerSec[2]; /* bytes per sector */
@@ -114,7 +114,7 @@ struct bsbpb {
u_int8_t bpbHeads[2]; /* drive heads */
u_int8_t bpbHiddenSecs[4]; /* hidden sectors */
u_int8_t bpbHugeSectors[4]; /* big total sectors */
-};
+} __packed;
struct bsxbpb {
u_int8_t bpbBigFATsecs[4]; /* big sectors per FAT */
@@ -124,7 +124,7 @@ struct bsxbpb {
u_int8_t bpbFSInfo[2]; /* file system info sector */
u_int8_t bpbBackup[2]; /* backup boot sector */
u_int8_t bpbReserved[12]; /* reserved */
-};
+} __packed;
struct bsx {
u_int8_t exDriveNumber; /* drive number */
@@ -133,7 +133,7 @@ struct bsx {
u_int8_t exVolumeID[4]; /* volume ID number */
u_int8_t exVolumeLabel[11]; /* volume label */
u_int8_t exFileSysType[8]; /* file system type */
-};
+} __packed;
struct de {
u_int8_t deName[11]; /* name and extension */
@@ -143,7 +143,7 @@ struct de {
u_int8_t deMDate[2]; /* creation date */
u_int8_t deStartCluster[2]; /* starting cluster */
u_int8_t deFileSize[4]; /* size */
-};
+} __packed;
struct bpb {
u_int bpbBytesPerSec; /* bytes per sector */
OpenPOWER on IntegriCloud