1
0
Fork 0
alistair23-linux/drivers/net
Ido Schimmel 3a577e6220 vxlan: Avoid infinite loop when suppressing NS messages with invalid options
[ Upstream commit 8066e6b449 ]

When proxy mode is enabled the vxlan device might reply to Neighbor
Solicitation (NS) messages on behalf of remote hosts.

In case the NS message includes the "Source link-layer address" option
[1], the vxlan device will use the specified address as the link-layer
destination address in its reply.

To avoid an infinite loop, break out of the options parsing loop when
encountering an option with length zero and disregard the NS message.

This is consistent with the IPv6 ndisc code and RFC 4886 which states
that "Nodes MUST silently discard an ND packet that contains an option
with length zero" [2].

[1] https://tools.ietf.org/html/rfc4861#section-4.3
[2] https://tools.ietf.org/html/rfc4861#section-4.6

Fixes: 4b29dba9c0 ("vxlan: fix nonfunctional neigh_reduce()")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-17 16:40:20 +02:00
..
appletalk
arcnet drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
bonding bonding: Fix reference count leak in bond_sysfs_slave_add. 2020-06-03 08:21:38 +02:00
caif
can slcan: Don't transmit uninitialized stack data in padding 2020-04-13 10:48:05 +02:00
dsa net: dsa: mt7530: set CPU port to fallback mode 2020-06-07 13:18:48 +02:00
ethernet mlxsw: core: Use different get_trend() callbacks for different thermal zones 2020-06-17 16:40:19 +02:00
fddi
fjes fjes: fix missed check in fjes_acpi_add 2019-12-31 16:41:14 +01:00
hamradio drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c 2020-06-03 08:21:15 +02:00
hippi
hyperv hv_netvsc: Fix unwanted wakeup in netvsc_attach() 2020-03-05 16:43:46 +01:00
ieee802154 Merge tag 'ieee802154-for-davem-2019-09-28' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan 2019-09-30 17:14:45 -07:00
ipvlan ipvlan: don't deref eth hdr before checking it's set 2020-03-18 07:17:39 +01:00
netdevsim netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() 2020-02-11 04:35:06 -08:00
phy net: phy: fix aneg restart in phy_ethtool_set_eee 2020-05-20 08:20:09 +02:00
plip
ppp pppoe: only process PADT targeted at local interfaces 2020-05-20 08:20:09 +02:00
slip slip: not call free_netdev before rtnl_unlock in slip_open 2020-03-21 08:11:53 +01:00
team team: fix hang in team_mode_get() 2020-04-29 16:33:09 +02:00
usb net: usb: qmi_wwan: add Telit LE910C1-EUX composition 2020-06-10 20:24:54 +02:00
vmxnet3
wan wan: ixp4xx_hss: fix compile-testing on 64-bit 2020-02-24 08:36:46 +01:00
wimax wimax/i2400m: Fix potential urb refcnt leak 2020-05-10 10:31:26 +02:00
wireless airo: Fix read overflows sending packets 2020-06-07 13:18:48 +02:00
xen-netback xen/netback: fix error path of xenvif_connect_data() 2019-10-19 11:43:29 -07:00
Kconfig net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build 2020-04-01 11:02:18 +02:00
LICENSE.SRC
Makefile
Space.c
dummy.c
eql.c
geneve.c geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR 2020-04-29 16:33:11 +02:00
gtp.c gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() 2020-05-27 17:46:33 +02:00
ifb.c net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build 2020-04-01 11:02:18 +02:00
loopback.c
macsec.c net: macsec: preserve ingress frame ordering 2020-05-14 07:58:21 +02:00
macvlan.c macvlan: fix null dereference in macvlan_device_event() 2020-04-29 16:33:07 +02:00
macvtap.c
mdio.c
mii.c
net_failover.c net_failover: fixed rollback in net_failover_open() 2020-06-17 16:40:19 +02:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c net: tap: clean up an indentation issue 2019-09-27 20:58:35 +02:00
thunderbolt.c
tun.c tun: correct header offsets in napi frags mode 2020-06-17 16:40:20 +02:00
veth.c
virtio_net.c virtio_net: fix lockdep warning on 32 bit 2020-05-20 08:20:10 +02:00
vrf.c vrf: Check skb for XFRM_TRANSFORMED flag 2020-04-29 16:33:11 +02:00
vsockmon.c
vxlan.c vxlan: Avoid infinite loop when suppressing NS messages with invalid options 2020-06-17 16:40:20 +02:00
xen-netfront.c xen-netfront: do not use ~0U as error return value for xennet_fill_frags() 2019-10-01 21:49:51 -04:00