From d7ef1e206bd9b36607dddcf337fada11d743b61f Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 22 Oct 2018 21:20:44 +0200 Subject: netlink: reset mnl_socket field in struct nft_ctx on EINTR Otherwise we keep using the old netlink socket if we hit EINTR. Signed-off-by: Pablo Neira Ayuso --- src/rule.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/rule.c') diff --git a/src/rule.c b/src/rule.c index 9e24c35c..12ac1310 100644 --- a/src/rule.c +++ b/src/rule.c @@ -229,7 +229,6 @@ int cache_update(struct nft_ctx *nft, enum cmd_ops cmd, struct list_head *msgs) .msgs = msgs, .nft = nft, }; - struct mnl_socket *nf_sock = nft->nf_sock; struct nft_cache *cache = &nft->cache; replay: @@ -244,7 +243,7 @@ replay: if (ret < 0) { cache_release(cache); if (errno == EINTR) { - netlink_restart(nf_sock); + nft->nf_sock = netlink_restart(nft->nf_sock); goto replay; } return -1; -- cgit v1.2.3