Index: /luci2/libubox/uloop.c
===================================================================
--- /luci2/libubox/uloop.c	(revision 5845)
+++ /luci2/libubox/uloop.c	(revision 5934)
@@ -50,4 +50,5 @@
 {
 	epoll_fd = epoll_create(32);
+	fcntl(epoll_fd, F_SETFD, fcntl(epoll_fd, F_GETFD) | FD_CLOEXEC);
 }
 
@@ -117,5 +118,9 @@
 		if(uloop_ubus)
 			if(ubus_connect(uloop_ubus) > 0)
-				ubus_sock = uloop_sock_add(ubus_get_sock(uloop_ubus), uloop_ubus, uloop_ubus_cb);
+			{
+				int ubus_fd = ubus_get_sock(uloop_ubus);
+				fcntl(ubus_fd, F_SETFD, fcntl(ubus_fd, F_GETFD) | FD_CLOEXEC);
+				ubus_sock = uloop_sock_add(ubus_fd, uloop_ubus, uloop_ubus_cb);
+			}
 		nfds = epoll_wait(epoll_fd, events, MAX_EVENTS, 1000);
 		for(n = 0; n < nfds; ++n)
