net/ipv6: reserve room for IFLA_INET6_ADDR_GEN_MODE
authorSabrina Dubroca <sd@queasysnail.net>
Mon, 9 Jul 2018 10:25:16 +0000 (12:25 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Jul 2018 05:50:45 +0000 (22:50 -0700)
inet6_ifla6_size() is called to check how much space is needed by
inet6_fill_link_af() and inet6_fill_ifinfo(), both of which include
the IFLA_INET6_ADDR_GEN_MODE attribute. Reserve some room for it.

Fixes: bc91b0f07ada ("ipv6: addrconf: implement address generation modes")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index e20f8a1d8cdbbe88cceb884ebd5de3a1f603dd4f..e89bca83e0e4bd13d85de5643cb396b165a5f966 100644 (file)
@@ -5208,7 +5208,9 @@ static inline size_t inet6_ifla6_size(void)
             + nla_total_size(DEVCONF_MAX * 4) /* IFLA_INET6_CONF */
             + nla_total_size(IPSTATS_MIB_MAX * 8) /* IFLA_INET6_STATS */
             + nla_total_size(ICMP6_MIB_MAX * 8) /* IFLA_INET6_ICMP6STATS */
-            + nla_total_size(sizeof(struct in6_addr)); /* IFLA_INET6_TOKEN */
+            + nla_total_size(sizeof(struct in6_addr)) /* IFLA_INET6_TOKEN */
+            + nla_total_size(1) /* IFLA_INET6_ADDR_GEN_MODE */
+            + 0;
 }
 
 static inline size_t inet6_if_nlmsg_size(void)