diff options
Diffstat (limited to 'package/systemd/systemd-fix-page-size.patch')
-rw-r--r-- | package/systemd/systemd-fix-page-size.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/package/systemd/systemd-fix-page-size.patch b/package/systemd/systemd-fix-page-size.patch new file mode 100644 index 000000000..241ceb8c0 --- /dev/null +++ b/package/systemd/systemd-fix-page-size.patch @@ -0,0 +1,43 @@ +commit 7264278fbbdc1dc6c30fedc902d1337594aa6ff6 +Author: Lennart Poettering <lennart@poettering.net> +Date: Wed Mar 21 23:47:44 2012 +0100 + + journal: PAGE_SIZE is not known on ppc and other archs + + Let's use NAME_MAX, as suggested by Dan Walsh + +diff --git a/src/journal/journald.c b/src/journal/journald.c +index d27cb60..87390bd 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; |