aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_ipv4.c
diff options
context:
space:
mode:
authorJiri Benc <jbenc@redhat.com>2012-07-27 02:58:22 +0000
committerDavid S. Miller <davem@davemloft.net>2012-07-27 13:45:50 -0700
commitb1beb681cba5358f62e6187340660ade226a5fcc (patch)
tree72dfe8df581bee6b804847794fa77af207327aea /net/ipv4/tcp_ipv4.c
parentUSB: kaweth.c: use GFP_ATOMIC under spin_lock (diff)
downloadlinux-dev-b1beb681cba5358f62e6187340660ade226a5fcc.tar.xz
linux-dev-b1beb681cba5358f62e6187340660ade226a5fcc.zip
net: fix rtnetlink IFF_PROMISC and IFF_ALLMULTI handling
When device flags are set using rtnetlink, IFF_PROMISC and IFF_ALLMULTI flags are handled specially. Function dev_change_flags sets IFF_PROMISC and IFF_ALLMULTI bits in dev->gflags according to the passed value but do_setlink passes a result of rtnl_dev_combine_flags which takes those bits from dev->flags. This can be easily trigerred by doing: tcpdump -i eth0 & ip l s up eth0 ip sets IFF_UP flag in ifi_flags and ifi_change, which is combined with IFF_PROMISC by rtnl_dev_combine_flags, causing __dev_change_flags to set IFF_PROMISC in gflags. Reported-by: Max Matveev <makc@redhat.com> Signed-off-by: Jiri Benc <jbenc@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
0 files changed, 0 insertions, 0 deletions