Backport a few more patches
This commit is contained in:
parent
c7c4361581
commit
b9a1e35039
@ -1,9 +1,11 @@
|
|||||||
From 15b947fb798cd131355ba9935802d58e92bdba6e Mon Sep 17 00:00:00 2001
|
From f4bb8c3a9aed5ddefb66380c818d04aa0b663693 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
Date: Fri, 4 Mar 2016 21:46:47 -0500
|
Date: Fri, 4 Mar 2016 21:46:47 -0500
|
||||||
Subject: [PATCH] test-compress-benchmark: skip loop iteration if size is 0
|
Subject: [PATCH] test-compress-benchmark: skip loop iteration if size is 0
|
||||||
|
|
||||||
Otherwise we would hit an assert in the compression code.
|
Otherwise we would hit an assert in the compression code.
|
||||||
|
|
||||||
|
(cherry picked from commit 15b947fb798cd131355ba9935802d58e92bdba6e)
|
||||||
---
|
---
|
||||||
src/journal/test-compress-benchmark.c | 2 ++
|
src/journal/test-compress-benchmark.c | 2 ++
|
||||||
1 file changed, 2 insertions(+)
|
1 file changed, 2 insertions(+)
|
@ -0,0 +1,38 @@
|
|||||||
|
From c411521802d5e89eeb5cdf39cdd7b9538a3a3a08 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||||
|
Date: Tue, 15 Mar 2016 12:43:33 +0100
|
||||||
|
Subject: [PATCH] time-util: fall back to CLOCK_MONOTONIC if CLOCK_BOOTTIME
|
||||||
|
unsupported
|
||||||
|
|
||||||
|
It was added in 2.6.39, and causes an assertion to fail when running in mock
|
||||||
|
hosted on 2.6.23-based RHEL-6:
|
||||||
|
|
||||||
|
Assertion 'clock_gettime(map_clock_id(clock_id), &ts) == 0' failed at systemd/src/basic/time-util.c:70, function now(). Aborting.
|
||||||
|
|
||||||
|
(cherry picked from commit 2abd5b5a49ae368b258ffc7257ab703bccda67dd)
|
||||||
|
---
|
||||||
|
src/basic/time-util.c | 7 +++++--
|
||||||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/basic/time-util.c b/src/basic/time-util.c
|
||||||
|
index 510f018d9b..ec112e23e2 100644
|
||||||
|
--- a/src/basic/time-util.c
|
||||||
|
+++ b/src/basic/time-util.c
|
||||||
|
@@ -47,12 +47,15 @@ static clockid_t map_clock_id(clockid_t c) {
|
||||||
|
/* Some more exotic archs (s390, ppc, …) lack the "ALARM" flavour of the clocks. Thus, clock_gettime() will
|
||||||
|
* fail for them. Since they are essentially the same as their non-ALARM pendants (their only difference is
|
||||||
|
* when timers are set on them), let's just map them accordingly. This way, we can get the correct time even on
|
||||||
|
- * those archs. */
|
||||||
|
+ * those archs.
|
||||||
|
+ *
|
||||||
|
+ * Also, older kernels don't support CLOCK_BOOTTIME: fall back to CLOCK_MONOTONIC. */
|
||||||
|
|
||||||
|
switch (c) {
|
||||||
|
|
||||||
|
+ case CLOCK_BOOTTIME:
|
||||||
|
case CLOCK_BOOTTIME_ALARM:
|
||||||
|
- return CLOCK_BOOTTIME;
|
||||||
|
+ return clock_boottime_or_monotonic ();
|
||||||
|
|
||||||
|
case CLOCK_REALTIME_ALARM:
|
||||||
|
return CLOCK_REALTIME;
|
47
0022-headers-use-__inline__-instead-of-inline.patch
Normal file
47
0022-headers-use-__inline__-instead-of-inline.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From b1ab67134c28ade32eab8fde37840efac789affc Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||||
|
Date: Fri, 11 Mar 2016 13:41:49 -0500
|
||||||
|
Subject: [PATCH] headers: use __inline__ instead of inline
|
||||||
|
|
||||||
|
https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/Alternate-Keywords.html#Alternate-Keywords
|
||||||
|
recommends __inline__ over inline in ANSI C compatible headers.
|
||||||
|
Tested with gcc-5.3 and clang-3.7.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1316964
|
||||||
|
(cherry picked from commit 0cb27225e9c658d80538ace7a267ba0a2d2f44f2)
|
||||||
|
---
|
||||||
|
src/systemd/_sd-common.h | 2 +-
|
||||||
|
src/systemd/sd-id128.h | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/systemd/_sd-common.h b/src/systemd/_sd-common.h
|
||||||
|
index 2d4e1f26e1..3bb886be75 100644
|
||||||
|
--- a/src/systemd/_sd-common.h
|
||||||
|
+++ b/src/systemd/_sd-common.h
|
||||||
|
@@ -74,7 +74,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define _SD_DEFINE_POINTER_CLEANUP_FUNC(type, func) \
|
||||||
|
- static inline void func##p(type **p) { \
|
||||||
|
+ static __inline__ void func##p(type **p) { \
|
||||||
|
if (*p) \
|
||||||
|
func(*p); \
|
||||||
|
} \
|
||||||
|
diff --git a/src/systemd/sd-id128.h b/src/systemd/sd-id128.h
|
||||||
|
index a3bf5897b8..4dff0b9b81 100644
|
||||||
|
--- a/src/systemd/sd-id128.h
|
||||||
|
+++ b/src/systemd/sd-id128.h
|
||||||
|
@@ -100,11 +100,11 @@ int sd_id128_get_boot(sd_id128_t *ret);
|
||||||
|
((x).bytes[15] & 15) >= 10 ? 'a' + ((x).bytes[15] & 15) - 10 : '0' + ((x).bytes[15] & 15), \
|
||||||
|
0 })
|
||||||
|
|
||||||
|
-_sd_pure_ static inline int sd_id128_equal(sd_id128_t a, sd_id128_t b) {
|
||||||
|
+_sd_pure_ static __inline__ int sd_id128_equal(sd_id128_t a, sd_id128_t b) {
|
||||||
|
return memcmp(&a, &b, 16) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-_sd_pure_ static inline int sd_id128_is_null(sd_id128_t a) {
|
||||||
|
+_sd_pure_ static __inline__ int sd_id128_is_null(sd_id128_t a) {
|
||||||
|
return a.qwords[0] == 0 && a.qwords[1] == 0;
|
||||||
|
}
|
||||||
|
|
47
0023-dev-console-must-be-labeled-with-SELinux-label.patch
Normal file
47
0023-dev-console-must-be-labeled-with-SELinux-label.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From 641a7f0c61ff42ea55ad7152e7f874ea5d680a2d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dan Walsh <dwalsh@redhat.com>
|
||||||
|
Date: Wed, 9 Mar 2016 09:29:25 -0500
|
||||||
|
Subject: [PATCH] /dev/console must be labeled with SELinux label
|
||||||
|
|
||||||
|
If the user specifies an selinux_apifs_context all content created in
|
||||||
|
the container including /dev/console should use this label.
|
||||||
|
|
||||||
|
Currently when this uses the default label it gets labeled user_devpts_t,
|
||||||
|
which would require us to write a policy allowing container processes to
|
||||||
|
manage user_devpts_t. This means that an escaped process would be allowed
|
||||||
|
to attack all users terminals as well as other container terminals. Changing
|
||||||
|
the label to match the apifs_context, means the processes would only be allowed
|
||||||
|
to manage their specific tty.
|
||||||
|
|
||||||
|
This change fixes a problem preventing RKT containers from working with systemd-nspawn.
|
||||||
|
|
||||||
|
(cherry picked from commit 68b020494d1ff085281061413d9236b5865ef238)
|
||||||
|
---
|
||||||
|
src/nspawn/nspawn.c | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||||
|
index ef348c335b..8c06f6ef75 100644
|
||||||
|
--- a/src/nspawn/nspawn.c
|
||||||
|
+++ b/src/nspawn/nspawn.c
|
||||||
|
@@ -87,6 +87,7 @@
|
||||||
|
#ifdef HAVE_SECCOMP
|
||||||
|
#include "seccomp-util.h"
|
||||||
|
#endif
|
||||||
|
+#include "selinux-util.h"
|
||||||
|
#include "signal-util.h"
|
||||||
|
#include "socket-util.h"
|
||||||
|
#include "stat-util.h"
|
||||||
|
@@ -3286,6 +3287,12 @@ int main(int argc, char *argv[]) {
|
||||||
|
goto finish;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (arg_selinux_apifs_context) {
|
||||||
|
+ r = mac_selinux_apply(console, arg_selinux_apifs_context);
|
||||||
|
+ if (r < 0)
|
||||||
|
+ goto finish;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (unlockpt(master) < 0) {
|
||||||
|
r = log_error_errno(errno, "Failed to unlock tty: %m");
|
||||||
|
goto finish;
|
@ -0,0 +1,90 @@
|
|||||||
|
From 1b8bdd05fcecd83cc8c8269f06a50ced055ab864 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Franck Bui <fbui@suse.com>
|
||||||
|
Date: Tue, 1 Dec 2015 18:01:44 +0100
|
||||||
|
Subject: [PATCH] fstab-generator: fix automount option and don't start
|
||||||
|
associated mount unit at boot
|
||||||
|
|
||||||
|
Without this patch applied the mount unit with 'automount' option was still
|
||||||
|
pulled by local-fs.target and thus was activated during the boot process which
|
||||||
|
defeats the purpose of the 'automount' option:
|
||||||
|
|
||||||
|
$ grep /mnt /etc/fstab
|
||||||
|
/dev/vdb1 /mnt ext2 defaults,x-systemd.automount 0 0
|
||||||
|
|
||||||
|
$ reboot
|
||||||
|
...
|
||||||
|
|
||||||
|
$ mount | grep mnt
|
||||||
|
systemd-1 on /mnt type autofs (rw,relatime,fd=34,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
|
||||||
|
/dev/vdb1 on /mnt type ext2 (rw,relatime)
|
||||||
|
|
||||||
|
$ systemctl status mnt.mount | grep Active
|
||||||
|
Active: active (mounted) since Thu 2016-03-03 21:36:22 CET; 42s ago
|
||||||
|
|
||||||
|
With the patch applied:
|
||||||
|
|
||||||
|
$ reboot
|
||||||
|
...
|
||||||
|
|
||||||
|
$ mount | grep mnt
|
||||||
|
systemd-1 on /mnt type autofs (rw,relatime,fd=22,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
|
||||||
|
|
||||||
|
$ systemctl status mnt.mount | grep Active
|
||||||
|
Active: inactive (dead)
|
||||||
|
|
||||||
|
$ ls /mnt
|
||||||
|
lost+found
|
||||||
|
|
||||||
|
$ systemctl status mnt.mount | grep Active
|
||||||
|
Active: active (mounted) since Thu 2016-03-03 21:47:32 CET; 4s ago
|
||||||
|
|
||||||
|
(cherry picked from commit 2b14df4a9ae92623b584e61db6b5b37accd832c1)
|
||||||
|
---
|
||||||
|
src/core/mount.c | 11 ++++++++++-
|
||||||
|
src/fstab-generator/fstab-generator.c | 4 ++--
|
||||||
|
2 files changed, 12 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/mount.c b/src/core/mount.c
|
||||||
|
index de1075d3a0..cfe4b0f517 100644
|
||||||
|
--- a/src/core/mount.c
|
||||||
|
+++ b/src/core/mount.c
|
||||||
|
@@ -104,6 +104,14 @@ static bool mount_is_auto(const MountParameters *p) {
|
||||||
|
return !fstab_test_option(p->options, "noauto\0");
|
||||||
|
}
|
||||||
|
|
||||||
|
+static bool mount_is_automount(const MountParameters *p) {
|
||||||
|
+ assert(p);
|
||||||
|
+
|
||||||
|
+ return fstab_test_option(p->options,
|
||||||
|
+ "comment=systemd.automount\0"
|
||||||
|
+ "x-systemd.automount\0");
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static bool needs_quota(const MountParameters *p) {
|
||||||
|
assert(p);
|
||||||
|
|
||||||
|
@@ -328,7 +336,8 @@ static int mount_add_device_links(Mount *m) {
|
||||||
|
if (path_equal(m->where, "/"))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- if (mount_is_auto(p) && UNIT(m)->manager->running_as == MANAGER_SYSTEM)
|
||||||
|
+ if (mount_is_auto(p) && !mount_is_automount(p) &&
|
||||||
|
+ UNIT(m)->manager->running_as == MANAGER_SYSTEM)
|
||||||
|
device_wants_mount = true;
|
||||||
|
|
||||||
|
r = unit_add_node_link(UNIT(m), p->what, device_wants_mount, m->from_fragment ? UNIT_BINDS_TO : UNIT_REQUIRES);
|
||||||
|
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
|
||||||
|
index 97a48764ae..6f576b5ecf 100644
|
||||||
|
--- a/src/fstab-generator/fstab-generator.c
|
||||||
|
+++ b/src/fstab-generator/fstab-generator.c
|
||||||
|
@@ -336,8 +336,8 @@ static int add_mount(
|
||||||
|
if (r < 0)
|
||||||
|
return log_error_errno(r, "Failed to write unit file %s: %m", unit);
|
||||||
|
|
||||||
|
- if (!noauto) {
|
||||||
|
- lnk = strjoin(arg_dest, "/", post, nofail || automount ? ".wants/" : ".requires/", name, NULL);
|
||||||
|
+ if (!noauto && !automount) {
|
||||||
|
+ lnk = strjoin(arg_dest, "/", post, nofail ? ".wants/" : ".requires/", name, NULL);
|
||||||
|
if (!lnk)
|
||||||
|
return log_oom();
|
||||||
|
|
15
systemd.spec
15
systemd.spec
@ -13,7 +13,7 @@
|
|||||||
Name: systemd
|
Name: systemd
|
||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 229
|
Version: 229
|
||||||
Release: 6%{?gitcommit:.git%{gitcommitshort}}%{?dist}
|
Release: 7%{?gitcommit:.git%{gitcommitshort}}%{?dist}
|
||||||
# For a breakdown of the licensing, see README
|
# For a breakdown of the licensing, see README
|
||||||
License: LGPLv2+ and MIT and GPLv2+
|
License: LGPLv2+ and MIT and GPLv2+
|
||||||
Summary: A System and Service Manager
|
Summary: A System and Service Manager
|
||||||
@ -53,9 +53,13 @@ Patch0016: 0016-hashmap-use-void-and-uint8_t-for-generic-pointers.patch
|
|||||||
Patch0017: 0017-resolved-fix-notification-iteration-logic-when-trans.patch
|
Patch0017: 0017-resolved-fix-notification-iteration-logic-when-trans.patch
|
||||||
Patch0018: 0018-selinux-always-try-to-load-the-full-selinux-db.patch
|
Patch0018: 0018-selinux-always-try-to-load-the-full-selinux-db.patch
|
||||||
Patch0019: 0019-selinux-use-raw-variants-of-security_compute_create-.patch
|
Patch0019: 0019-selinux-use-raw-variants-of-security_compute_create-.patch
|
||||||
Patch0020: 0020-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
|
Patch0020: 0020-test-compress-benchmark-skip-loop-iteration-if-size-.patch
|
||||||
Patch0021: 0021-test-compress-benchmark-skip-loop-iteration-if-size-.patch
|
Patch0021: 0021-time-util-fall-back-to-CLOCK_MONOTONIC-if-CLOCK_BOOT.patch
|
||||||
|
Patch0022: 0022-headers-use-__inline__-instead-of-inline.patch
|
||||||
|
Patch0023: 0023-dev-console-must-be-labeled-with-SELinux-label.patch
|
||||||
|
Patch0024: 0024-fstab-generator-fix-automount-option-and-don-t-start.patch
|
||||||
|
|
||||||
|
Patch0998: 0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
|
||||||
Patch0999: 0999-Add-a-workaround-for-linux-net-if.h-conflict.patch
|
Patch0999: 0999-Add-a-workaround-for-linux-net-if.h-conflict.patch
|
||||||
|
|
||||||
# kernel-install patch for grubby, drop if grubby is obsolete
|
# kernel-install patch for grubby, drop if grubby is obsolete
|
||||||
@ -927,6 +931,11 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
|
|||||||
/usr/lib/firewalld/services/*
|
/usr/lib/firewalld/services/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 17 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@bupkis> - 229-7
|
||||||
|
- Moar patches (#1316964, #1317928)
|
||||||
|
- Move vconsole-setup and tmpfiles-setup-dev bits to systmed-udev
|
||||||
|
- Protect systemd-udev from deinstallation
|
||||||
|
|
||||||
* Fri Mar 11 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@bupkis> - 229-6
|
* Fri Mar 11 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@bupkis> - 229-6
|
||||||
- Create /etc/resolv.conf symlink from systemd-resolved (#1313085)
|
- Create /etc/resolv.conf symlink from systemd-resolved (#1313085)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user