diff options
Diffstat (limited to 'src/journal/journald.c')
-rw-r--r-- | src/journal/journald.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/journal/journald.c b/src/journal/journald.c index d27cb60ac7..87390bdec9 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -29,7 +29,6 @@ #include <sys/ioctl.h> #include <linux/sockios.h> #include <sys/statvfs.h> -#include <sys/user.h> #include <systemd/sd-journal.h> #include <systemd/sd-login.h> @@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) { size_t label_len = 0; union { struct cmsghdr cmsghdr; + + /* We use NAME_MAX space for the + * SELinux label here. The kernel + * currently enforces no limit, but + * according to suggestions from the + * SELinux people this will change and + * it will probably be identical to + * NAME_MAX. For now we use that, but + * this should be updated one day when + * the final limit is known.*/ uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) + CMSG_SPACE(sizeof(struct timeval)) + - CMSG_SPACE(sizeof(int)) + - CMSG_SPACE(PAGE_SIZE)]; /* selinux label */ + CMSG_SPACE(sizeof(int)) + /* fd */ + CMSG_SPACE(NAME_MAX)]; /* selinux label */ } control; ssize_t n; int v; |