Skip to content

Commit

Permalink
netfilter: nf_tables: fail batch if fatal signal is pending
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Florian Westphal authored and Pablo Neira Ayuso committed May 29, 2018
1 parent d6501de commit 8a3d4c3
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions net/netfilter/nfnetlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <linux/uaccess.h>
#include <net/sock.h>
#include <linux/init.h>
#include <linux/sched/signal.h>

#include <net/netlink.h>
#include <linux/netfilter/nfnetlink.h>
Expand Down Expand Up @@ -330,6 +331,13 @@ static void nfnetlink_rcv_batch(struct sk_buff *skb, struct nlmsghdr *nlh,
while (skb->len >= nlmsg_total_size(0)) {
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));
nlh = nlmsg_hdr(skb);
err = 0;
Expand Down

0 comments on commit 8a3d4c3

Please sign in to comment.