From: Taehee Yoo Date: Sun, 17 Jul 2022 16:09:09 +0000 (+0000) Subject: amt: drop unexpected multicast data X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e882827d5b8942a27b4d28548aa27562a3a7e94c;p=linux.git amt: drop unexpected multicast data AMT gateway interface should not receive unexpected multicast data. Multicast data message type should be received after sending an update message, which means all establishment between gateway and relay is finished. So, amt_multicast_data_handler() checks amt->status. Fixes: cbc21dc1cfe9 ("amt: add data plane of amt interface") Signed-off-by: Taehee Yoo Signed-off-by: Paolo Abeni --- diff --git a/drivers/net/amt.c b/drivers/net/amt.c index 8dc7b8f258c89..051e92ed56c0a 100644 --- a/drivers/net/amt.c +++ b/drivers/net/amt.c @@ -2282,6 +2282,9 @@ static bool amt_multicast_data_handler(struct amt_dev *amt, struct sk_buff *skb) struct ethhdr *eth; struct iphdr *iph; + if (READ_ONCE(amt->status) != AMT_STATUS_SENT_UPDATE) + return true; + hdr_size = sizeof(*amtmd) + sizeof(struct udphdr); if (!pskb_may_pull(skb, hdr_size)) return true;