OSDN Git Service

fs/adfs: correct disc record structure
authorRussell King <rmk+kernel@armlinux.org.uk>
Tue, 4 Jun 2019 13:49:25 +0000 (14:49 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Jun 2019 00:14:13 +0000 (20:14 -0400)
Fill in some padding in the disc record structure, and add GCC
packed and aligned attributes to ensure that it is correctly
laid out.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
include/uapi/linux/adfs_fs.h

index 151d93e..f1a7d67 100644 (file)
@@ -29,17 +29,17 @@ struct adfs_discrecord {
     __u8  log2sharesize:4;
     __u8  unused40:4;
     __u8  big_flag:1;
-    __u8  unused41:1;
+    __u8  unused41:7;
     __u8  nzones_high;
+    __u8  reserved43;
     __le32 format_version;
     __le32 root_size;
     __u8  unused52[60 - 52];
-};
+} __attribute__((packed, aligned(4)));
 
 #define ADFS_DISCRECORD                (0xc00)
 #define ADFS_DR_OFFSET         (0x1c0)
 #define ADFS_DR_SIZE            60
 #define ADFS_DR_SIZE_BITS      (ADFS_DR_SIZE << 3)
 
-
 #endif /* _UAPI_ADFS_FS_H */