From 706a2fa98a721abfd460ef03643114c87a51c0a4 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Thu, 9 Jun 2011 00:01:46 +0200 Subject: [PATCH] Apply patches from current upstream https://bugzilla.redhat.com/show_bug.cgi?id=709909 https://bugzilla.redhat.com/show_bug.cgi?id=710839 https://bugzilla.redhat.com/show_bug.cgi?id=711015 --- 0001-exec-Fix-number-of-unit-types.patch | 33 ++++++++++++ ...l-fix-double-unref-of-a-dbus-message.patch | 24 +++++++++ ...generator-fix-etc-cryptsetup-options.patch | 34 ++++++++++++ ...xfs-can-be-mounted-on-sys-fs-selinux.patch | 52 +++++++++++++++++++ 4 files changed, 143 insertions(+) create mode 100644 0001-exec-Fix-number-of-unit-types.patch create mode 100644 0002-systemctl-fix-double-unref-of-a-dbus-message.patch create mode 100644 0003-cryptsetup-generator-fix-etc-cryptsetup-options.patch create mode 100644 0004-selinux-selinuxfs-can-be-mounted-on-sys-fs-selinux.patch diff --git a/0001-exec-Fix-number-of-unit-types.patch b/0001-exec-Fix-number-of-unit-types.patch new file mode 100644 index 0000000..a5cfe44 --- /dev/null +++ b/0001-exec-Fix-number-of-unit-types.patch @@ -0,0 +1,33 @@ +From 9a66640832d103f906c2ef609a1d19d43fc542f6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ozan=20=C3=87a=C4=9Flayan?= +Date: Fri, 27 May 2011 08:24:22 +0300 +Subject: [PATCH 1/4] exec: Fix number of unit types + +There are four unit types mentioned in here, not three +--- + man/systemd.exec.xml | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml +index de1d9bf..7b4f7e3 100644 +--- a/man/systemd.exec.xml ++++ b/man/systemd.exec.xml +@@ -57,13 +57,13 @@ + + Description + +- Unit configuration files for services, sockets ++ Unit configuration files for services, sockets, + mount points and swap devices share a subset of + configuration options which define the execution + environment of spawned processes. + + This man page lists the configuration options +- shared by these three unit types. See ++ shared by these four unit types. See + systemd.unit5 + for the common options of all unit configuration + files, and +-- +1.7.4.4 + diff --git a/0002-systemctl-fix-double-unref-of-a-dbus-message.patch b/0002-systemctl-fix-double-unref-of-a-dbus-message.patch new file mode 100644 index 0000000..e07f3a7 --- /dev/null +++ b/0002-systemctl-fix-double-unref-of-a-dbus-message.patch @@ -0,0 +1,24 @@ +From 78e39b43b89c6bf9ce401d6030939a004a23c850 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Sun, 5 Jun 2011 17:22:37 +0200 +Subject: [PATCH 2/4] systemctl: fix double unref of a dbus message + +--- + src/systemctl.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/src/systemctl.c b/src/systemctl.c +index 99ada38..a82cce4 100644 +--- a/src/systemctl.c ++++ b/src/systemctl.c +@@ -1565,6 +1565,7 @@ static int check_unit(DBusConnection *bus, char **args, unsigned n) { + + dbus_error_free(&error); + dbus_message_unref(m); ++ m = NULL; + continue; + } + +-- +1.7.4.4 + diff --git a/0003-cryptsetup-generator-fix-etc-cryptsetup-options.patch b/0003-cryptsetup-generator-fix-etc-cryptsetup-options.patch new file mode 100644 index 0000000..585664c --- /dev/null +++ b/0003-cryptsetup-generator-fix-etc-cryptsetup-options.patch @@ -0,0 +1,34 @@ +From aae5220d961a419a1e160de90ee5c393c7c13607 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Mon, 6 Jun 2011 22:59:19 +0200 +Subject: [PATCH 3/4] cryptsetup-generator: fix /etc/cryptsetup options + +cryptsetup-generator parses the options in /etc/cryptsetup incorrectly. +It fails to find the 'swap' option in + swap,foo +and instead it matches on + swaplalala,foo + +The condition for the comma separator is reversed. + +https://bugzilla.redhat.com/show_bug.cgi?id=710839 +--- + src/cryptsetup-generator.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/cryptsetup-generator.c b/src/cryptsetup-generator.c +index 696f44a..db8ebdf 100644 +--- a/src/cryptsetup-generator.c ++++ b/src/cryptsetup-generator.c +@@ -47,7 +47,7 @@ static bool has_option(const char *haystack, const char *needle) { + continue; + } + +- if (f[l] != 0 && f[l] == ',') { ++ if (f[l] != 0 && f[l] != ',') { + f++; + continue; + } +-- +1.7.4.4 + diff --git a/0004-selinux-selinuxfs-can-be-mounted-on-sys-fs-selinux.patch b/0004-selinux-selinuxfs-can-be-mounted-on-sys-fs-selinux.patch new file mode 100644 index 0000000..172ac3d --- /dev/null +++ b/0004-selinux-selinuxfs-can-be-mounted-on-sys-fs-selinux.patch @@ -0,0 +1,52 @@ +From ef9d7dca5463e64510e174d55a869b4d5a3c4e84 Mon Sep 17 00:00:00 2001 +From: Michal Schmidt +Date: Tue, 7 Jun 2011 00:48:16 +0200 +Subject: [PATCH 4/4] selinux: selinuxfs can be mounted on /sys/fs/selinux + +The kernel now provides the /sys/fs/selinux mountpoint and libselinux +prefers it if it's available. + +systemd currently tests only for /selinux and this leads to an infinite +loop of policy reloads in the latest Rawhide. + +Fix it by checking both possible mountpoints. +Also add the new path to ignore_paths[]. + +/selinux appears also in nspawn.c. I don't think it's necessary to +change it there at this point. + +https://bugzilla.redhat.com/show_bug.cgi?id=711015 +--- + src/mount-setup.c | 1 + + src/selinux-setup.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/src/mount-setup.c b/src/mount-setup.c +index 48c32ea..6feee6a 100644 +--- a/src/mount-setup.c ++++ b/src/mount-setup.c +@@ -63,6 +63,7 @@ static const MountPoint mount_table[] = { + * we just list them here so that we know that we should ignore them */ + + static const char * const ignore_paths[] = { ++ "/sys/fs/selinux", + "/selinux", + "/proc/bus/usb" + }; +diff --git a/src/selinux-setup.c b/src/selinux-setup.c +index c32c7ad..9ff27dc 100644 +--- a/src/selinux-setup.c ++++ b/src/selinux-setup.c +@@ -39,7 +39,8 @@ int selinux_setup(char *const argv[]) { + int enforce = 0; + + /* Already initialized? */ +- if (path_is_mount_point("/selinux") > 0) ++ if (path_is_mount_point("/sys/fs/selinux") > 0 || ++ path_is_mount_point("/selinux") > 0) + return 0; + + /* Before we load the policy we create a flag file to ensure +-- +1.7.4.4 +