We are using test_and_* operations on the status and flag fields of
struct sock_mapping. However, these functions require the operand to be
64-bit aligned on arm64. Currently, only status is 64-bit aligned.

Make flags 64-bit aligned by introducing an explicit padding field.

Signed-off-by: Stefano Stabellini <[email protected]>

diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index ca5b773..aa07b2a 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -78,6 +78,7 @@ struct sock_mapping {
 #define PVCALLS_STATUS_BIND          1
 #define PVCALLS_STATUS_LISTEN        2
                        uint8_t status;
+                       uint8_t pad[7];
                /*
                 * Internal state-machine flags.
                 * Only one accept operation can be inflight for a socket.

Reply via email to