summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-02-12 11:44:48 +0100
committerLennart Poettering <lennart@poettering.net>2015-02-12 11:45:39 +0100
commita38d99451f2bf8026ec51aee91662292e823c6a8 (patch)
tree312f02b7057b65dbaf42c796f814f43b064ef9ab
parentd01efa07444e49aafd78e0aa822168da688d53f5 (diff)
Revert "tree-wide: Always use recvmsg with MSG_CMSG_CLOEXEC"
This reverts commit d6d810fbf8071f8510450dbacd1d083f37603656. It's apparently not OK to pass MSG_CMSG_CLOEXEC to recvmsg() of raw sockets.
-rw-r--r--src/libsystemd-network/sd-dhcp-client.c2
-rw-r--r--src/libsystemd-network/sd-dhcp-server.c2
-rw-r--r--src/libsystemd/sd-rtnl/rtnl-message.c4
-rw-r--r--src/libudev/libudev-monitor.c2
-rw-r--r--src/machine/machine-dbus.c2
-rw-r--r--src/resolve/resolved-manager.c2
-rw-r--r--src/shutdownd/shutdownd.c2
-rw-r--r--src/timesync/timesyncd-manager.c2
-rw-r--r--src/udev/udev-ctrl.c2
9 files changed, 10 insertions, 10 deletions
diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c
index 2f76e24ce3..5f90617b9e 100644
--- a/src/libsystemd-network/sd-dhcp-client.c
+++ b/src/libsystemd-network/sd-dhcp-client.c
@@ -1582,7 +1582,7 @@ static int client_receive_message_raw(sd_event_source *s, int fd,
iov.iov_base = packet;
iov.iov_len = buflen;
- len = recvmsg(fd, &msg, MSG_CMSG_CLOEXEC);
+ len = recvmsg(fd, &msg, 0);
if (len < 0) {
log_dhcp_client(client, "could not receive message from raw "
"socket: %m");
diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c
index 1cb782fca3..3f89f344d7 100644
--- a/src/libsystemd-network/sd-dhcp-server.c
+++ b/src/libsystemd-network/sd-dhcp-server.c
@@ -897,7 +897,7 @@ static int server_receive_message(sd_event_source *s, int fd,
iov.iov_base = message;
iov.iov_len = buflen;
- len = recvmsg(fd, &msg, MSG_CMSG_CLOEXEC);
+ len = recvmsg(fd, &msg, 0);
if (len < buflen)
return 0;
else if ((size_t)len < sizeof(DHCPMessage))
diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
index e7e3799286..276591f31b 100644
--- a/src/libsystemd/sd-rtnl/rtnl-message.c
+++ b/src/libsystemd/sd-rtnl/rtnl-message.c
@@ -1431,7 +1431,7 @@ static int socket_recv_message(int fd, struct iovec *iov, uint32_t *_group, bool
assert(fd >= 0);
assert(iov);
- r = recvmsg(fd, &msg, MSG_TRUNC | MSG_CMSG_CLOEXEC | (peek ? MSG_PEEK : 0));
+ r = recvmsg(fd, &msg, MSG_TRUNC | (peek ? MSG_PEEK : 0));
if (r < 0) {
/* no data */
if (errno == ENOBUFS)
@@ -1467,7 +1467,7 @@ static int socket_recv_message(int fd, struct iovec *iov, uint32_t *_group, bool
/* not from the kernel, ignore */
if (peek) {
/* drop the message */
- r = recvmsg(fd, &msg, MSG_CMSG_CLOEXEC);
+ r = recvmsg(fd, &msg, 0);
if (r < 0)
return (errno == EAGAIN || errno == EINTR) ? 0 : -errno;
}
diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
index 82ce7f67e3..08ddde8fd7 100644
--- a/src/libudev/libudev-monitor.c
+++ b/src/libudev/libudev-monitor.c
@@ -600,7 +600,7 @@ retry:
smsg.msg_name = &snl;
smsg.msg_namelen = sizeof(snl);
- buflen = recvmsg(udev_monitor->sock, &smsg, MSG_CMSG_CLOEXEC);
+ buflen = recvmsg(udev_monitor->sock, &smsg, 0);
if (buflen < 0) {
if (errno != EINTR)
log_debug("unable to receive message");
diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
index da8e6c08e7..b46f0a8dac 100644
--- a/src/machine/machine-dbus.c
+++ b/src/machine/machine-dbus.c
@@ -255,7 +255,7 @@ int bus_machine_method_get_addresses(sd_bus *bus, sd_bus_message *message, void
iov[0] = (struct iovec) { .iov_base = &family, .iov_len = sizeof(family) };
iov[1] = (struct iovec) { .iov_base = &in_addr, .iov_len = sizeof(in_addr) };
- n = recvmsg(pair[0], &mh, MSG_CMSG_CLOEXEC);
+ n = recvmsg(pair[0], &mh, 0);
if (n < 0)
return sd_bus_error_set_errno(error, -errno);
if ((size_t) n < sizeof(family))
diff --git a/src/resolve/resolved-manager.c b/src/resolve/resolved-manager.c
index d5c1bf0fbd..890cc04941 100644
--- a/src/resolve/resolved-manager.c
+++ b/src/resolve/resolved-manager.c
@@ -892,7 +892,7 @@ int manager_recv(Manager *m, int fd, DnsProtocol protocol, DnsPacket **ret) {
mh.msg_control = &control;
mh.msg_controllen = sizeof(control);
- l = recvmsg(fd, &mh, MSG_CMSG_CLOEXEC);
+ l = recvmsg(fd, &mh, 0);
if (l < 0) {
if (errno == EAGAIN || errno == EINTR)
return 0;
diff --git a/src/shutdownd/shutdownd.c b/src/shutdownd/shutdownd.c
index 6eb522bcfc..826efbfeab 100644
--- a/src/shutdownd/shutdownd.c
+++ b/src/shutdownd/shutdownd.c
@@ -69,7 +69,7 @@ static int read_packet(int fd, union shutdown_buffer *_b) {
assert(fd >= 0);
assert(_b);
- n = recvmsg(fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC);
+ n = recvmsg(fd, &msghdr, MSG_DONTWAIT);
if (n <= 0) {
if (n == 0) {
log_error("Short read");
diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c
index edddc2f05e..223671c087 100644
--- a/src/timesync/timesyncd-manager.c
+++ b/src/timesync/timesyncd-manager.c
@@ -516,7 +516,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re
return manager_connect(m);
}
- len = recvmsg(fd, &msghdr, MSG_DONTWAIT|MSG_CMSG_CLOEXEC);
+ len = recvmsg(fd, &msghdr, MSG_DONTWAIT);
if (len < 0) {
if (errno == EAGAIN)
return 0;
diff --git a/src/udev/udev-ctrl.c b/src/udev/udev-ctrl.c
index 47f06510c8..538b342865 100644
--- a/src/udev/udev-ctrl.c
+++ b/src/udev/udev-ctrl.c
@@ -372,7 +372,7 @@ struct udev_ctrl_msg *udev_ctrl_receive_msg(struct udev_ctrl_connection *conn) {
iov.iov_base = &uctrl_msg->ctrl_msg_wire;
iov.iov_len = sizeof(struct udev_ctrl_msg_wire);
- size = recvmsg(conn->sock, &smsg, MSG_CMSG_CLOEXEC);
+ size = recvmsg(conn->sock, &smsg, 0);
if (size < 0) {
log_error_errno(errno, "unable to receive ctrl message: %m");
goto err;