Applied, thanks! Flavio Cruz, le ven. 05 mai 2023 00:43:36 -0400, a ecrit: > * Perform the correct alignment for x86_64. > * Use designated initializers. > --- > eth-multiplexer/vdev.c | 39 ++++++++++++++++++++++----------------- > 1 file changed, 22 insertions(+), 17 deletions(-) > > diff --git a/eth-multiplexer/vdev.c b/eth-multiplexer/vdev.c > index 548af9d2..f441803d 100644 > --- a/eth-multiplexer/vdev.c > +++ b/eth-multiplexer/vdev.c > @@ -46,25 +46,29 @@ static int dev_num; > * TODO every device structure should has its own lock to protect itself. */ > static pthread_mutex_t dev_list_lock = PTHREAD_MUTEX_INITIALIZER; > > -mach_msg_type_t header_type = > +/* Should match MiG's desired_complex_alignof */ > +#define MSG_ALIGNMENT __alignof__(uintptr_t) > + > +static const mach_msg_type_t header_type = > { > - MACH_MSG_TYPE_BYTE, > - 8, > - NET_HDW_HDR_MAX, > - TRUE, > - FALSE, > - FALSE, > - 0 > + .msgt_name = MACH_MSG_TYPE_BYTE, > + .msgt_size = 8, > + .msgt_number = NET_HDW_HDR_MAX, > + .msgt_inline = TRUE, > + .msgt_longform = FALSE, > + .msgt_deallocate = FALSE, > + .msgt_unused = 0 > }; > > -mach_msg_type_t packet_type = > +static const mach_msg_type_t packet_type = > { > - MACH_MSG_TYPE_BYTE, /* name */ > - 8, /* size */ > - 0, /* number */ > - TRUE, /* inline */ > - FALSE, /* longform */ > - FALSE /* deallocate */ > + .msgt_name = MACH_MSG_TYPE_BYTE, > + .msgt_size = 8, > + .msgt_number = 0, > + .msgt_inline = TRUE, > + .msgt_longform = FALSE, > + .msgt_deallocate = FALSE, > + .msgt_unused = 0 > }; > > int > @@ -208,8 +212,9 @@ broadcast_pack (char *data, int datalen, struct > vether_device *from_vdev) > > pack_size = datalen - sizeof (struct ethhdr); > /* remember message sizes must be rounded up */ > - msg.msg_hdr.msgh_size = (((mach_msg_size_t) (sizeof(struct net_rcv_msg) > - - NET_RCV_MAX + pack_size)) + 3) > & ~3; > + msg.msg_hdr.msgh_size = sizeof (struct net_rcv_msg) - NET_RCV_MAX + > pack_size; > + msg.msg_hdr.msgh_size = (mach_msg_size_t) ((msg.msg_hdr.msgh_size + > + MSG_ALIGNMENT - 1) & ~(MSG_ALIGNMENT - 1)); > > header = (struct ethhdr *) msg.header; > packet = (struct packet_header *) msg.packet; > -- > 2.39.2 > >
-- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.