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?= <ozan@pardus.org.tr>
+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 @@
+         <refsect1>
+                 <title>Description</title>
+ 
+-                <para>Unit configuration files for services, sockets
++                <para>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.</para>
+ 
+                 <para>This man page lists the configuration options
+-                shared by these three unit types. See
++                shared by these four unit types. See
+                 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                 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 <mschmidt@redhat.com>
+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 <mschmidt@redhat.com>
+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 <mschmidt@redhat.com>
+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
+