diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2019-06-13 08:15:27 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2019-06-13 08:15:27 +0000 |
commit | c167e950f00c0bd97b840b9f78f944856d539dc6 (patch) | |
tree | 1c38df9b964d7388bafde5e8a163b9010f3bd4a1 /sys/netinet | |
parent | 5e5e9391bb65e33e082e06c79c2cd84d812e8a72 (diff) |
In arp_rtrequest and nd6_rtrequest return early if the RTF_MPLS flag is
set. These mpls routes use the rt_llinfo structure to store the MPLS label
and would confuse the arp and nd6 code.
OK bluhm@ anton@
Reported-by: syzbot+927e93a362f3ae33dd9c@syzkaller.appspotmail.com
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/if_ether.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 130d107e820..3e30983e57c 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ether.c,v 1.238 2019/01/20 23:43:13 claudio Exp $ */ +/* $OpenBSD: if_ether.c,v 1.239 2019/06/13 08:15:26 claudio Exp $ */ /* $NetBSD: if_ether.c,v 1.31 1996/05/11 12:59:58 mycroft Exp $ */ /* @@ -143,7 +143,8 @@ arp_rtrequest(struct ifnet *ifp, int req, struct rtentry *rt) timeout_add_sec(&arptimer_to, arpt_prune); } - if (ISSET(rt->rt_flags, RTF_GATEWAY|RTF_BROADCAST|RTF_MULTICAST)) + if (ISSET(rt->rt_flags, + RTF_GATEWAY|RTF_BROADCAST|RTF_MULTICAST|RTF_MPLS)) return; switch (req) { |