bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH hurd] Update eth-multiplexer/vdev.c to be more portable


From: Samuel Thibault
Subject: Re: [PATCH hurd] Update eth-multiplexer/vdev.c to be more portable
Date: Sat, 6 May 2023 21:39:54 +0200
User-agent: NeoMutt/20170609 (1.8.3)

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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]