diff --git a/[refs] b/[refs] index d33b3475c8da..b793430719f6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 63233159fd4e596568f5f168ecb0879b61631d47 +refs/heads/master: 09d7cf7d931c627b227decd080f4528d003ddbe6 diff --git a/trunk/net/bridge/br_mdb.c b/trunk/net/bridge/br_mdb.c index 3e05cc32da50..acc9f4cc18f7 100644 --- a/trunk/net/bridge/br_mdb.c +++ b/trunk/net/bridge/br_mdb.c @@ -84,9 +84,11 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb, struct br_mdb_entry e; e.ifindex = port->dev->ifindex; e.state = p->state; - e.addr.u.ip4 = p->addr.u.ip4; + if (p->addr.proto == htons(ETH_P_IP)) + e.addr.u.ip4 = p->addr.u.ip4; #if IS_ENABLED(CONFIG_IPV6) - e.addr.u.ip6 = p->addr.u.ip6; + if (p->addr.proto == htons(ETH_P_IPV6)) + e.addr.u.ip6 = p->addr.u.ip6; #endif e.addr.proto = p->addr.proto; if (nla_put(skb, MDBA_MDB_ENTRY_INFO, sizeof(e), &e)) {