Skip to contentSkip to conversation

scsi: make struct scsi_varlen_cdb_hdr packed

PATCH Superseded James Hogan 1 participant 1 message Apr 10, 2012 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 scsi: make struct scsi_varlen_cdb_hdr packed

The struct scsi_varlen_cdb_hdr is expected to be exactly 10 bytes when used in struct osd_cdb_head, but it isn't marked as packed. Some architectures will round the struct size up which triggers BUILD_BUG_ON compile errors in osd_initiator.c when the outer structs are unexpected sizes. This is fixed by marking struct scsi_varlen_cdb_hdr as __packed.

---
 include/scsi/scsi.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
include/scsi/scsi.h +1 -1
index f34a5a8..c75c8c8 100644
@@ -196,7 +196,7 @@ struct scsi_varlen_cdb_hdr {
 	__u8 additional_cdb_length;         /* total cdb length - 8 */
 	__be16 service_action;
 	/* service specific data follows */
-};
+} __packed;
 
 static inline unsigned
 scsi_varlen_cdb_length(const void *hdr)
Signature · 1 line
1.7.7.6