[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210828084307.70316-1-shjy180909@gmail.com>
Date: Sat, 28 Aug 2021 08:43:07 +0000
From: shjy180909@...il.com
To: davem@...emloft.net, kuba@...nel.org, netdev@...r.kernel.org
Cc: roopa@...dia.com, nikolay@...dia.com,
MichelleJin <shjy180909@...il.com>
Subject: [PATCH net-next] net: bridge: use mld2r_ngrec instead of icmpv6_dataun
From: MichelleJin <shjy180909@...il.com>
using icmp6h->mld2r_ngrec instead of icmp6h->icmp6_dataun.un_data16[1].
Signed-off-by: MichelleJin <shjy180909@...il.com>
---
net/bridge/br_multicast.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 2c437d4bf632..8e38e02208bd 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -2731,8 +2731,8 @@ static int br_ip6_multicast_mld2_report(struct net_bridge_mcast *brmctx,
struct net_bridge_mdb_entry *mdst;
struct net_bridge_port_group *pg;
unsigned int nsrcs_offset;
+ struct mld2_report *mld2r;
const unsigned char *src;
- struct icmp6hdr *icmp6h;
struct in6_addr *h_addr;
struct mld2_grec *grec;
unsigned int grec_len;
@@ -2740,12 +2740,12 @@ static int br_ip6_multicast_mld2_report(struct net_bridge_mcast *brmctx,
int i, len, num;
int err = 0;
- if (!ipv6_mc_may_pull(skb, sizeof(*icmp6h)))
+ if (!ipv6_mc_may_pull(skb, sizeof(*mld2r)))
return -EINVAL;
- icmp6h = icmp6_hdr(skb);
- num = ntohs(icmp6h->icmp6_dataun.un_data16[1]);
- len = skb_transport_offset(skb) + sizeof(*icmp6h);
+ mld2r = (struct mld2_report *) icmp6_hdr(skb);
+ num = ntohs(mld2r->mld2r_ngrec);
+ len = skb_transport_offset(skb) + sizeof(*mld2r);
for (i = 0; i < num; i++) {
__be16 *_nsrcs, __nsrcs;
--
2.25.1
Powered by blists - more mailing lists