linux-samsung-r9q2/include/linux/netfilter
Jozsef Kadlecsik 5e29dc36bd netfilter: ipset: Rework long task execution when adding/deleting entries
When adding/deleting large number of elements in one step in ipset, it can
take a reasonable amount of time and can result in soft lockup errors. The
patch 5f7b51bf09 ("netfilter: ipset: Limit the maximal range of
consecutive elements to add/delete") tried to fix it by limiting the max
elements to process at all. However it was not enough, it is still possible
that we get hung tasks. Lowering the limit is not reasonable, so the
approach in this patch is as follows: rely on the method used at resizing
sets and save the state when we reach a smaller internal batch limit,
unlock/lock and proceed from the saved state. Thus we can avoid long
continuous tasks and at the same time removed the limit to add/delete large
number of elements in one step.

The nfnl mutex is held during the whole operation which prevents one to
issue other ipset commands in parallel.

Fixes: 5f7b51bf09 ("netfilter: ipset: Limit the maximal range of consecutive elements to add/delete")
Reported-by: syzbot+9204e7399656300bf271@syzkaller.appspotmail.com
Signed-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2023-01-02 15:10:05 +01:00
..
ipset netfilter: ipset: Rework long task execution when adding/deleting entries 2023-01-02 15:10:05 +01:00
nf_conntrack_amanda.h netfilter: add missing includes to a number of header-files. 2019-08-13 12:14:39 +02:00
nf_conntrack_common.h netfilter: conntrack: avoid useless indirection during conntrack destruction 2022-01-09 23:30:13 +01:00
nf_conntrack_dccp.h netfilter: remove "#ifdef __KERNEL__" guards from some headers. 2019-08-13 12:15:28 +02:00
nf_conntrack_ftp.h netfilter: add missing includes to a number of header-files. 2019-08-13 12:14:39 +02:00
nf_conntrack_h323.h netfilter: h323: merge nat hook pointers into one 2022-07-11 16:25:16 +02:00
nf_conntrack_h323_asn1.h netfilter: add missing includes to a number of header-files. 2019-08-13 12:14:39 +02:00
nf_conntrack_h323_types.h netfilter: add include guard to nf_conntrack_h323_types.h 2019-08-19 13:59:57 +02:00
nf_conntrack_irc.h netfilter: remove "#ifdef __KERNEL__" guards from some headers. 2019-08-13 12:15:28 +02:00
nf_conntrack_pptp.h netfilter: conntrack: pptp: use single option structure 2022-02-04 06:30:28 +01:00
nf_conntrack_proto_gre.h netfilter: remove "#ifdef __KERNEL__" guards from some headers. 2019-08-13 12:15:28 +02:00
nf_conntrack_sane.h netfilter: remove "#ifdef __KERNEL__" guards from some headers. 2019-08-13 12:15:28 +02:00
nf_conntrack_sctp.h netfilter: conntrack: allow sctp hearbeat after connection re-use 2020-08-20 14:13:49 +02:00
nf_conntrack_sip.h netfilter: nf_conntrack: add missing __rcu annotations 2022-07-11 16:25:15 +02:00
nf_conntrack_snmp.h netfilter: add missing includes to a number of header-files. 2019-08-13 12:14:39 +02:00
nf_conntrack_tcp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nf_conntrack_tftp.h netfilter: add missing includes to a number of header-files. 2019-08-13 12:14:39 +02:00
nf_conntrack_zones_common.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfnetlink.h netfilter: nfnetlink: add struct nfgenmsg to struct nfnl_info and use it 2021-06-07 12:23:36 +02:00
nfnetlink_acct.h netfilter: nfnetlink_acct: remove useless parameter 2018-03-05 23:15:43 +01:00
nfnetlink_osf.h netfilter: nft_osf: Add version option support 2019-04-08 23:27:12 +02:00
x_tables.h netfilter: x_tables: never register tables by default 2021-08-09 10:22:01 +02:00