DO NOT MERGE:Add missing SOCK_CLOEXEC flag when opening socket
Go through the code that opens socket in marshmallow, and backport the
SOCK_CLOEXEC usage when opening sockets with AF_NETLINK.
Bug: 31242981
Test: mma
Change-Id: I709fc1dd43a883f95bb99021e1350c062ca35203
diff --git a/libcutils/uevent.c b/libcutils/uevent.c
index 97a81e3..4e5c677 100644
--- a/libcutils/uevent.c
+++ b/libcutils/uevent.c
@@ -104,7 +104,7 @@
addr.nl_pid = getpid();
addr.nl_groups = 0xffffffff;
- s = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
+ s = socket(PF_NETLINK, SOCK_DGRAM | SOCK_CLOEXEC, NETLINK_KOBJECT_UEVENT);
if(s < 0)
return -1;
diff --git a/libnetutils/ifc_utils.c b/libnetutils/ifc_utils.c
index 913f51e..b41a0af 100644
--- a/libnetutils/ifc_utils.c
+++ b/libnetutils/ifc_utils.c
@@ -316,7 +316,7 @@
req.n.nlmsg_len = NLMSG_ALIGN(req.n.nlmsg_len) + RTA_LENGTH(addrlen);
memcpy(RTA_DATA(rta), addr, addrlen);
- s = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
+ s = socket(PF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE);
if (send(s, &req, req.n.nlmsg_len, 0) < 0) {
close(s);
return -errno;