linux/net/netfilter/ipset
Kadlecsik József 5038517119 netfilter: ipset: fix suspicious RCU usage in find_set_and_id
find_set_and_id() is called when the NFNL_SUBSYS_IPSET mutex is held.
However, in the error path there can be a follow-up recvmsg() without
the mutex held. Use the start() function of struct netlink_dump_control
instead of dump() to verify and report if the specified set does not
exist.

Thanks to Pablo Neira Ayuso for helping me to understand the subleties
of the netlink protocol.

Reported-by: syzbot+fc69d7cb21258ab4ae4d@syzkaller.appspotmail.com
Signed-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2020-01-29 18:34:46 +01:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ip_set_bitmap_gen.h netfilter: ipset: use bitmap infrastructure completely 2020-01-20 17:41:45 +01:00
ip_set_bitmap_ip.c netfilter: ipset: use bitmap infrastructure completely 2020-01-20 17:41:45 +01:00
ip_set_bitmap_ipmac.c netfilter: ipset: use bitmap infrastructure completely 2020-01-20 17:41:45 +01:00
ip_set_bitmap_port.c netfilter: ipset: use bitmap infrastructure completely 2020-01-20 17:41:45 +01:00
ip_set_core.c netfilter: ipset: fix suspicious RCU usage in find_set_and_id 2020-01-29 18:34:46 +01:00
ip_set_getport.c netfilter: ipset: move ip_set_get_ip_port() to ip_set_bitmap_port.c. 2019-10-07 23:59:02 +02:00
ip_set_hash_gen.h netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_ip.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_ipmac.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-09 11:04:37 -08:00
ip_set_hash_ipmark.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_ipport.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_ipportip.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_ipportnet.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_mac.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-09 11:04:37 -08:00
ip_set_hash_netiface.c netfilter: ipset: Add wildcard support to net,iface 2019-11-04 20:44:17 +01:00
ip_set_hash_netnet.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-09 11:04:37 -08:00
ip_set_hash_netport.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_hash_netportnet.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
ip_set_list_set.c netfilter: ipset: remove inline from static functions in .c files. 2019-10-07 23:57:45 +02:00
pfxlen.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00