diff options
author | Francesco Ruggeri <fruggeri@arista.com> | 2015-03-09 11:51:04 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-09 16:17:43 -0400 |
commit | 82f17091e68254d1612b42cf23291cad63cfaf04 (patch) | |
tree | dcffa6fb6b17a6adc0debb924dfcdd855feb0977 /net/sctp | |
parent | 0b2eb3e9bc738c23784b9281dd035ee0b450d98a (diff) | |
download | linux-82f17091e68254d1612b42cf23291cad63cfaf04.tar.bz2 |
net: delete stale packet_mclist entries
When an interface is deleted from a net namespace the ifindex in the
corresponding entries in PF_PACKET sockets' mclists becomes stale.
This can create inconsistencies if later an interface with the same ifindex
is moved from a different namespace (not that unlikely since ifindexes are
per-namespace).
In particular we saw problems with dev->promiscuity, resulting
in "promiscuity touches roof, set promiscuity failed. promiscuity
feature of device might be broken" warnings and EOVERFLOW failures of
setsockopt(PACKET_ADD_MEMBERSHIP).
This patch deletes the mclist entries for interfaces that are deleted.
Since this now causes setsockopt(PACKET_DROP_MEMBERSHIP) to fail with
EADDRNOTAVAIL if called after the interface is deleted, also make
packet_mc_drop not fail.
Signed-off-by: Francesco Ruggeri <fruggeri@arista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
0 files changed, 0 insertions, 0 deletions