summaryrefslogtreecommitdiffstats
path: root/kernel/task_work.c
diff options
context:
space:
mode:
authorFrancesco Ruggeri2015-03-09 19:51:04 +0100
committerDavid S. Miller2015-03-09 21:17:43 +0100
commit82f17091e68254d1612b42cf23291cad63cfaf04 (patch)
treedcffa6fb6b17a6adc0debb924dfcdd855feb0977 /kernel/task_work.c
parentnet: macb: constify macb configuration data (diff)
downloadkernel-qcow2-linux-82f17091e68254d1612b42cf23291cad63cfaf04.tar.gz
kernel-qcow2-linux-82f17091e68254d1612b42cf23291cad63cfaf04.tar.xz
kernel-qcow2-linux-82f17091e68254d1612b42cf23291cad63cfaf04.zip
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 'kernel/task_work.c')
0 files changed, 0 insertions, 0 deletions