about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2013-01-05 20:22:09 +0100
committerMichael Biebl <biebl@debian.org>2013-01-05 20:22:09 +0100
commit4ca5787ef9b6f358adea41b2e4e8c4752c0e0df3 (patch)
tree7fc360d3775dc6469b0e838d7a6f1aeaf491caf2
parentc24c07743e0377c33009268cd76be1d44b6fad02 (diff)
systemd: set KillMode=process
By default, when shutting NM down, systemd will kill everything in its
cgroup. But this can cause problems (eg, NM thinking that dhclient
crashed and then taking down an interface that it would otherwise have
left up). Fix this by setting KillMode=process, which tells systemd to
only kill NM itself, and let NM kill its children.
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/04-systemd-set-kill-mode-process.patch27
-rw-r--r--debian/patches/series1
3 files changed, 34 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index a85fa3e6..685ba285 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,12 @@
 network-manager (0.9.4.0-8) UNRELEASED; urgency=low
 
   * Move the pkla file to /etc/polkit-1 as requested by the release team.
+  * debian/patches/04-systemd-set-kill-mode-process.patch: By default, when
+    shutting NM down, systemd will kill everything in its cgroup. But this
+    can cause problems (eg, NM thinking that dhclient crashed and then taking
+    down an interface that it would otherwise have left up). Fix this by
+    setting KillMode=process, which tells systemd to only kill NM itself, and
+    let NM kill its children. Patch cherry-picked from upstream Git.
 
  -- Michael Biebl <biebl@debian.org>  Sat, 05 Jan 2013 20:15:30 +0100
 
diff --git a/debian/patches/04-systemd-set-kill-mode-process.patch b/debian/patches/04-systemd-set-kill-mode-process.patch
new file mode 100644
index 00000000..daed7aef
--- /dev/null
+++ b/debian/patches/04-systemd-set-kill-mode-process.patch
@@ -0,0 +1,27 @@
+commit 1d89bc0004ec27fbc0c89f17861118c78d7eeab5 (HEAD, origin/master, origin/HEAD, master)
+Author: Dan Winship <danw@gnome.org>
+Date:   Fri Jan 4 11:53:03 2013 -0500
+
+    systemd: set KillMode=process
+    
+    By default, when shutting NM down, systemd will kill everything in its
+    cgroup. But this can cause problems (eg, NM thinking that dhclient
+    crashed and then taking down an interface that it would otherwise have
+    left up). Fix this by setting KillMode=process, which tells systemd to
+    only kill NM itself, and let NM kill its children.
+    
+    https://bugzilla.redhat.com/show_bug.cgi?id=876218
+
+Index: network-manager/data/NetworkManager.service.in
+===================================================================
+--- network-manager.orig/data/NetworkManager.service.in	2013-01-05 20:18:09.943472117 +0100
++++ network-manager/data/NetworkManager.service.in	2013-01-05 20:18:09.943472117 +0100
+@@ -10,6 +10,8 @@
+ # with LOG_PERROR when run in foreground. But systemd redirects stderr to
+ # syslog by default, which results in logging each message twice.
+ StandardError=null
++# NM doesn't want systemd to kill its children for it
++KillMode=process
+ 
+ [Install]
+ WantedBy=multi-user.target
diff --git a/debian/patches/series b/debian/patches/series
index 7129497f..ed9f3f03 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,7 @@
 # Debian patches for network-manager
 02-dbus_access_network_manager.patch
 03-systemd.patch
+04-systemd-set-kill-mode-process.patch
 10-format-security.patch
 11-initialize-nm-remote-settings.patch
 12-initialize-gerror.patch