summaryrefslogtreecommitdiff
path: root/package/systemd/systemd-fix-page-size.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/systemd/systemd-fix-page-size.patch')
-rw-r--r--package/systemd/systemd-fix-page-size.patch43
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;