Subject: Re: [PATCH net-next 2/4] net: mpls: change mpls_route layout

From: [email-masked] (Eric W. Biederman)
Date: Mon, 27 Mar 2017 19:04:07 -0500

David Ahern <[email-masked]> writes:

> diff --git a/net/mpls/internal.h b/net/mpls/internal.h
> index 66f388ba2d49..302d48f54b57 100644
> --- a/net/mpls/internal.h
> +++ b/net/mpls/internal.h
> @@ -64,7 +64,6 @@ struct mpls_dev {
>  struct sk_buff;
>  
>  #define LABEL_NOT_SPECIFIED (1 << 20)
> -#define MAX_NEW_LABELS 2
>  
>  /* This maximum ha length copied from the definition of struct neighbour */
>  #define VIA_ALEN_ALIGN sizeof(unsigned long)
> @@ -84,12 +83,25 @@ enum mpls_payload_type {
>  struct mpls_nh { /* next hop label forwarding entry */
>  	struct net_device __rcu *nh_dev;
>  	unsigned int		nh_flags;
> -	u32			nh_label[MAX_NEW_LABELS];
>  	u8			nh_labels;
>  	u8			nh_via_alen;
>  	u8			nh_via_table;
> +	/* u8 hole */

This hole probably be better documented with:
	u8			nh_reserved1;
> +	u32			nh_label[0];
>  };

Eric