diff --git a/src/init.c b/src/init.c index e380de04..7df5e1ea 100644 --- a/src/init.c +++ b/src/init.c @@ -229,6 +229,7 @@ static int hyper_pod_init(void *data) close(hyper_epoll.efd); close(hyper_epoll.ctl.fd); close(hyper_epoll.tty.fd); + close(hyper_epoll.dev.fd); sigemptyset(&mask); sigaddset(&mask, SIGCHLD); diff --git a/src/netlink.c b/src/netlink.c index f3d312a0..e850aa07 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -44,7 +44,7 @@ int hyper_setup_netlink_listener(struct hyper_event *e) memset(&sa, 0, sizeof(sa)); sa.nl_family = AF_NETLINK; sa.nl_groups = 0xffffffff; - fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_KOBJECT_UEVENT); + fd = socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_KOBJECT_UEVENT); if (fd < 0) { perror("failed to create netlink socket"); return -1;