netfilter: nf_tables: fail batch if fatal signal is pending
abort batch processing and return so task can exit faster. Otherwise even SIGKILL has no immediate effect. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
d6501de872
commit
8a3d4c3612
|
@ -25,6 +25,7 @@
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <net/sock.h>
|
#include <net/sock.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
#include <linux/sched/signal.h>
|
||||||
|
|
||||||
#include <net/netlink.h>
|
#include <net/netlink.h>
|
||||||
#include <linux/netfilter/nfnetlink.h>
|
#include <linux/netfilter/nfnetlink.h>
|
||||||
|
@ -330,6 +331,13 @@ replay:
|
||||||
while (skb->len >= nlmsg_total_size(0)) {
|
while (skb->len >= nlmsg_total_size(0)) {
|
||||||
int msglen, type;
|
int msglen, type;
|
||||||
|
|
||||||
|
if (fatal_signal_pending(current)) {
|
||||||
|
nfnl_err_reset(&err_list);
|
||||||
|
err = -EINTR;
|
||||||
|
status = NFNL_BATCH_FAILURE;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
memset(&extack, 0, sizeof(extack));
|
memset(&extack, 0, sizeof(extack));
|
||||||
nlh = nlmsg_hdr(skb);
|
nlh = nlmsg_hdr(skb);
|
||||||
err = 0;
|
err = 0;
|
||||||
|
|
Loading…
Reference in New Issue