diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-03-21 23:47:44 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-03-21 23:47:44 +0100 |
commit | 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 (patch) | |
tree | 6ce5431a2dfaae40e03c68b0b2c1c6c1478d33c8 | |
parent | 0071d9f1db6dc9a1035cf5afb81455b67ed462f6 (diff) |
journal: PAGE_SIZE is not known on ppc and other archs
Let's use NAME_MAX, as suggested by Dan Walsh
-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; |