|
| 1 | +From: Martin Pitt <martin.pitt@ubuntu.com> |
| 2 | +Date: Fri, 9 Oct 2015 11:19:38 +0200 |
| 3 | +Subject: Revert "sd_pid_notify_with_fds: fix computing msg_controllen" |
| 4 | + |
| 5 | +This causes connection errors from various services on boot. |
| 6 | + |
| 7 | +This reverts commit a5bd3c32abb00ad945282568fd1a97c180b68047. |
| 8 | + |
| 9 | +https://github.com/systemd/systemd/issues/1505 |
| 10 | +Closes: #801354 |
| 11 | +--- |
| 12 | + src/libsystemd/sd-daemon/sd-daemon.c | 5 ++--- |
| 13 | + 1 file changed, 2 insertions(+), 3 deletions(-) |
| 14 | + |
| 15 | +diff --git a/src/libsystemd/sd-daemon/sd-daemon.c b/src/libsystemd/sd-daemon/sd-daemon.c |
| 16 | +index 4375181..6514d69 100644 |
| 17 | +--- a/src/libsystemd/sd-daemon/sd-daemon.c |
| 18 | ++++ b/src/libsystemd/sd-daemon/sd-daemon.c |
| 19 | +@@ -449,9 +449,8 @@ _public_ int sd_pid_notify_with_fds(pid_t pid, int unset_environment, const char |
| 20 | + have_pid = pid != 0 && pid != getpid(); |
| 21 | + |
| 22 | + if (n_fds > 0 || have_pid) { |
| 23 | +- /* CMSG_SPACE(0) may return value different then zero, which results in miscalculated controllen. */ |
| 24 | +- msghdr.msg_controllen = (n_fds ? CMSG_SPACE(sizeof(int) * n_fds) : 0) + |
| 25 | +- CMSG_SPACE(sizeof(struct ucred)) * have_pid; |
| 26 | ++ msghdr.msg_controllen = CMSG_SPACE(sizeof(int) * n_fds) + |
| 27 | ++ CMSG_SPACE(sizeof(struct ucred) * have_pid); |
| 28 | + msghdr.msg_control = alloca(msghdr.msg_controllen); |
| 29 | + |
| 30 | + cmsg = CMSG_FIRSTHDR(&msghdr); |
0 commit comments