netlink: test for all flags of the NLM_F_DUMP composite
authorJan Engelhardt <jengelh@medozas.de>
Fri, 7 Jan 2011 03:15:05 +0000 (03:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Jan 2011 00:25:03 +0000 (16:25 -0800)
commit0ab03c2b1478f2438d2c80204f7fef65b1bca9cf
treea130abc7a3cc2d5c326b1bbdad80c06e741db3fd
parentdba5a68ae147d0672d4b9259f3ece37777f8b2fa
netlink: test for all flags of the NLM_F_DUMP composite

Due to NLM_F_DUMP is composed of two bits, NLM_F_ROOT | NLM_F_MATCH,
when doing "if (x & NLM_F_DUMP)", it tests for _either_ of the bits
being set. Because NLM_F_MATCH's value overlaps with NLM_F_EXCL,
non-dump requests with NLM_F_EXCL set are mistaken as dump requests.

Substitute the condition to test for _all_ bits being set.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c
net/ipv4/inet_diag.c
net/netfilter/nf_conntrack_netlink.c
net/netlink/genetlink.c
net/xfrm/xfrm_user.c