summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConner Huff <chuff@codeaurora.org>2018-04-20 11:12:35 -0700
committerConner Huff <chuff@codeaurora.org>2018-04-26 11:25:41 -0700
commit1ecd2d8bdee56c0e99550b0f644937d71b7fef01 (patch)
tree172a64b1a2367d99d57954d5f615d15e6400b7ca
parent48ccbdb018f773e9c9074fe6d6514eeffa740d70 (diff)
librmnetctl: Fix for avc denial in netmgrd
tcontext=u:r:netmgrd:s0 tclass=netlink_socket permissive=0 netmgr calls librmnetctl init where librmnetctl creates socket. Need to add SOCK_CLOEXEC flag while creating socket. SOCK_CLOEXEC sets the close-on-exec (FD_CLOEXEC) flag on the new file descriptor. Change-Id: I7497737140ae7b0bd8eca27960fec2af209200c7
-rw-r--r--rmnetctl/src/librmnetctl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/rmnetctl/src/librmnetctl.c b/rmnetctl/src/librmnetctl.c
index c9c74a8..731681a 100644
--- a/rmnetctl/src/librmnetctl.c
+++ b/rmnetctl/src/librmnetctl.c
@@ -343,7 +343,7 @@ int rmnetctl_init(rmnetctl_hndl_t **hndl, uint16_t *error_code)
break;
}
(*hndl)->pid = (uint32_t)pid;
- netlink_fd = socket(PF_NETLINK, SOCK_RAW, RMNET_NETLINK_PROTO);
+ netlink_fd = socket(PF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, RMNET_NETLINK_PROTO);
if (netlink_fd < MIN_VALID_SOCKET_FD) {
free(*hndl);
*error_code = RMNETCTL_INIT_ERR_NETLINK_FD;
@@ -1027,7 +1027,7 @@ int rtrmnet_ctl_init(rmnetctl_hndl_t **hndl, uint16_t *error_code)
return RMNETCTL_LIB_ERR;
}
(*hndl)->pid = KERNEL_PROCESS_ID;
- netlink_fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
+ netlink_fd = socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE);
if (netlink_fd < MIN_VALID_SOCKET_FD) {
free(*hndl);
*error_code = RMNETCTL_INIT_ERR_NETLINK_FD;