From: Allan Stephens Date: Fri, 7 Oct 2011 19:48:41 +0000 (-0400) Subject: tipc: Ignore neighbor discovery messages containing invalid address X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d6d4577ae48bcfde06894540ea793abf076e1643;p=mv-sheeva.git tipc: Ignore neighbor discovery messages containing invalid address Adds a check to ensure that TIPC ignores an incoming neighbor discovery message that specifies an invalid media address as its source. The check ensures that the source address is a valid, non-broadcast address that could legally be used by a neighboring link endpoint. Signed-off-by: Allan Stephens Signed-off-by: Paul Gortmaker --- diff --git a/net/tipc/discover.c b/net/tipc/discover.c index 1ea2d44bbc3..420e0329036 100644 --- a/net/tipc/discover.c +++ b/net/tipc/discover.c @@ -130,12 +130,15 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct tipc_bearer *b_ptr) u32 type = msg_type(msg); int link_fully_up; + media_addr.broadcast = 1; b_ptr->media->msg2addr(&media_addr, msg_media_addr(msg)); buf_discard(buf); /* Validate discovery message from requesting node */ if (net_id != tipc_net_id) return; + if (media_addr.broadcast) + return; if (!tipc_addr_domain_valid(dest)) return; if (!tipc_addr_node_valid(orig))