Blob Blame History Raw
From 094f7dd2dce0c449313f1f1ea69dc849fc89b62a Mon Sep 17 00:00:00 2001
From: Phil Sutter <psutter@redhat.com>
Date: Wed, 20 Jun 2018 09:22:47 +0200
Subject: [PATCH] netlink: Complain if setting O_NONBLOCK fails

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1504157
Upstream Status: nftables commit 4342fcbd40534

commit 4342fcbd40534158107ebe6a10e5f7886b3e8ced
Author: Phil Sutter <phil@nwl.cc>
Date:   Thu Mar 1 15:00:31 2018 +0100

    netlink: Complain if setting O_NONBLOCK fails

    Assuming that code is not aware that reads from netlink socket may
    block, treat inability to set O_NONBLOCK flag as fatal initialization
    error aborting program execution.

    Signed-off-by: Phil Sutter <phil@nwl.cc>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 src/netlink.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/netlink.c b/src/netlink.c
index ca0e207..ebfad18 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -58,7 +58,8 @@ struct mnl_socket *netlink_open_sock(void)
 	if (nf_sock == NULL)
 		netlink_init_error();
 
-	fcntl(mnl_socket_get_fd(nf_sock), F_SETFL, O_NONBLOCK);
+	if (fcntl(mnl_socket_get_fd(nf_sock), F_SETFL, O_NONBLOCK))
+		netlink_init_error();
 
 	return nf_sock;
 }
-- 
1.8.3.1