]> Pileus Git - ~andy/linux/blobdiff - net/bridge/br_mdb.c
SUNRPC: Fix buffer overflow checking in gss_encode_v0_msg/gss_encode_v1_msg
[~andy/linux] / net / bridge / br_mdb.c
index 6319c4333c393b57c9e4210d9e37191a4446a922..85a09bb5ca51b864cd671c63746d65dfd531ed79 100644 (file)
@@ -9,6 +9,7 @@
 #include <net/netlink.h>
 #if IS_ENABLED(CONFIG_IPV6)
 #include <net/ipv6.h>
+#include <net/addrconf.h>
 #endif
 
 #include "br_private.h"
@@ -61,7 +62,8 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb,
 
        for (i = 0; i < mdb->max; i++) {
                struct net_bridge_mdb_entry *mp;
-               struct net_bridge_port_group *p, **pp;
+               struct net_bridge_port_group *p;
+               struct net_bridge_port_group __rcu **pp;
                struct net_bridge_port *port;
 
                hlist_for_each_entry_rcu(mp, &mdb->mhash[i], hlist[mdb->ver]) {
@@ -253,7 +255,7 @@ static bool is_valid_mdb_entry(struct br_mdb_entry *entry)
                        return false;
 #if IS_ENABLED(CONFIG_IPV6)
        } else if (entry->addr.proto == htons(ETH_P_IPV6)) {
-               if (!ipv6_is_transient_multicast(&entry->addr.u.ip6))
+               if (ipv6_addr_is_ll_all_nodes(&entry->addr.u.ip6))
                        return false;
 #endif
        } else