From 09773ef4462657bffadc568d08c962041fea9944 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Mon, 29 Dec 2014 02:18:21 +0100 Subject: [PATCH] rtnl: recv_message - don't enforce sender uid MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit All we care about is that the kernel (pid==0) sent the message. Verifying the sender uid seems to break when using userns. Reported by Stéphane Graber. --- src/libsystemd/sd-rtnl/rtnl-message.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c index 640c0ea93..36eb9f5b3 100644 --- a/src/libsystemd/sd-rtnl/rtnl-message.c +++ b/src/libsystemd/sd-rtnl/rtnl-message.c @@ -1363,10 +1363,10 @@ static int socket_recv_message(int fd, struct iovec *iov, uint32_t *_group, bool struct ucred *ucred = (void *)CMSG_DATA(cmsg); /* from the kernel */ - if (ucred->uid == 0 && ucred->pid == 0) + if (ucred->pid == 0) auth = true; else - log_debug("rtnl: ignoring message from uid %u pid %u", ucred->uid, ucred->pid); + log_debug("rtnl: ignoring message from pid %u", ucred->pid); } else if (cmsg->cmsg_level == SOL_NETLINK && cmsg->cmsg_type == NETLINK_PKTINFO && cmsg->cmsg_len == CMSG_LEN(sizeof(struct nl_pktinfo))) { -- 2.30.2