aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/dev-replace.c
diff options
context:
space:
mode:
authorSergei Trofimovich <[email protected]>2021-03-30 07:19:56 +0000
committerMartin K. Petersen <[email protected]>2021-04-02 02:50:53 +0000
commit5482a9a1a8fd23fbb57afc6d409e12713aa93fa5 (patch)
tree8176888057e061bac7d8ac81fc99921f049dd960 /fs/btrfs/dev-replace.c
parentscsi: iscsi: Fix race condition between login and sync thread (diff)
downloadkernel-5482a9a1a8fd23fbb57afc6d409e12713aa93fa5.tar.gz
kernel-5482a9a1a8fd23fbb57afc6d409e12713aa93fa5.zip
scsi: hpsa: Use __packed on individual structs, not header-wide
The hpsa driver uses data structures which contain a combination of driver internals and commands sent directly to the hardware. To manage alignment for the hardware portions the driver used #pragma pack(1). Commit f749d8b7a989 ("scsi: hpsa: Correct dev cmds outstanding for retried cmds") switched an existing variable from int to bool. Due to the pragma an atomic_t in the same data structure ended up being misaligned and broke boot on ia64. Add __packed to every struct and union in the header file. Subsequent commits will address the actual atomic_t misalignment regression. The commit is a no-op at least on ia64: $ diff -u <(objdump -d -r old.o) <(objdump -d -r new.o) Link: https://lore.kernel.org/r/[email protected] Fixes: f749d8b7a989 ("scsi: hpsa: Correct dev cmds outstanding for retried cmds") CC: [email protected] CC: [email protected] CC: [email protected] CC: Joe Szczypek <[email protected]> CC: Scott Benesh <[email protected]> CC: Scott Teel <[email protected]> CC: Tomas Henzl <[email protected]> CC: "Martin K. Petersen" <[email protected]> CC: Don Brace <[email protected]> Reported-by: John Paul Adrian Glaubitz <[email protected]> Suggested-by: Don Brace <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]> Signed-off-by: Sergei Trofimovich <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions