Patches for three bugs

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2016-08-09 11:02:16 -04:00
parent a53414d804
commit 96242b19e4
4 changed files with 136 additions and 1 deletions

View File

@ -0,0 +1,29 @@
From 01f57264055f83bbb7f9e1ca6d51e260768d1b5f Mon Sep 17 00:00:00 2001
From: Tom Yan <tom.ty89@gmail.com>
Date: Sat, 28 May 2016 13:35:01 +0800
Subject: [PATCH] networkd: disable IPv6 for bridge slave
If an interface is managed as a bridge slave, we don't want any IP configuration for it. Therefore, disable IPv6 in such case.
(loosely based upon commit 2b00a4e03dc375465de7f60f3a6937cbe8ffdf31)
---
src/network/networkd-link.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
index 692c0bf63d..4fe3b888d2 100644
--- a/src/network/networkd-link.c
+++ b/src/network/networkd-link.c
@@ -45,6 +45,9 @@ bool link_dhcp6_enabled(Link *link) {
if (!link->network)
return false;
+ if (link->network->bridge)
+ return false;
+
return link->network->dhcp & ADDRESS_FAMILY_IPV6;
}
--
2.9.0

View File

@ -0,0 +1,65 @@
From 3f1b2afc490a79ca4c9f592bc7615248a5fb7dba Mon Sep 17 00:00:00 2001
From: Susant Sahani <ssahani@users.noreply.github.com>
Date: Wed, 18 May 2016 07:06:43 +0530
Subject: [PATCH] networkd: add route expiration handler (#3242)
Fix for #3232.
(cherry picked from commit fe7ca21acfb9fcef6cf8ce9f945377667a26a27c)
---
src/network/networkd-route.c | 32 +++++++++++++++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
index e065a5a5a9..aa9c71550f 100644
--- a/src/network/networkd-route.c
+++ b/src/network/networkd-route.c
@@ -411,15 +411,45 @@ int route_remove(Route *route, Link *link,
return 0;
}
+static int route_expire_callback(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) {
+ Link *link = userdata;
+ int r;
+
+ assert(rtnl);
+ assert(m);
+ assert(link);
+ assert(link->ifname);
+ assert(link->link_messages > 0);
+
+ if (IN_SET(link->state, LINK_STATE_FAILED, LINK_STATE_LINGER))
+ return 1;
+
+ link->link_messages--;
+
+ r = sd_netlink_message_get_errno(m);
+ if (r < 0 && r != -EEXIST)
+ log_link_warning_errno(link, r, "could not remove route: %m");
+
+ if (link->link_messages == 0)
+ log_link_debug(link, "route removed");
+
+ return 1;
+}
+
int route_expire_handler(sd_event_source *s, uint64_t usec, void *userdata) {
Route *route = userdata;
int r;
assert(route);
- r = route_remove(route, route->link, NULL);
+ r = route_remove(route, route->link, route_expire_callback);
if (r < 0)
log_warning_errno(r, "Could not remove route: %m");
+ else {
+ /* route may not be exist in kernel. If we fail still remove it */
+ route->link->link_messages++;
+ route_free(route);
+ }
return 1;
}
--
2.9.0

View File

@ -0,0 +1,33 @@
From 3085120636da344db53ba32d3f3509e0f8a2080d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 9 Aug 2016 10:54:05 -0400
Subject: [PATCH] coredump: ignore RLIMIT_CORE
https://bugzilla.redhat.com/show_bug.cgi?id=1309172#c21
---
src/coredump/coredump.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c
index 085909c20c..aa07e68627 100644
--- a/src/coredump/coredump.c
+++ b/src/coredump/coredump.c
@@ -319,15 +319,6 @@ static int save_external_coredump(
if (r < 0)
return log_error_errno(r, "Failed to parse UID: %m");
- r = safe_atou64(context[CONTEXT_RLIMIT], &rlimit);
- if (r < 0)
- return log_error_errno(r, "Failed to parse resource limit: %s", context[CONTEXT_RLIMIT]);
- if (rlimit <= 0) {
- /* Is coredumping disabled? Then don't bother saving/processing the coredump */
- log_info("Core Dumping has been disabled for process %s (%s).", context[CONTEXT_PID], context[CONTEXT_COMM]);
- return -EBADSLT;
- }
-
/* Never store more than the process configured, or than we actually shall keep or process */
max_size = MIN(rlimit, MAX(arg_process_size_max, arg_external_size_max));
--
2.9.0

View File

@ -12,7 +12,7 @@
Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
Version: 229
Release: 10%{?gitcommit:.git%{gitcommitshort}}%{?dist}
Release: 11%{?gitcommit:.git%{gitcommitshort}}%{?dist}
# For a breakdown of the licensing, see README
License: LGPLv2+ and MIT and GPLv2+
Summary: A System and Service Manager
@ -75,6 +75,9 @@ Patch0039: 0039-strbuf-set-the-proper-character-when-creating-new-no.patch
Patch0040: 0040-networkd-bump-MTU-to-1280-for-interfaces-which-have-.patch
Patch0041: 0041-networkd-disable-IPv6-for-bridge-slave.patch
Patch0042: 0042-udev-bump-TasksMax-to-inifinity-3593.patch
Patch0043: 0043-networkd-disable-IPv6-for-bridge-slave.patch
Patch0044: 0044-networkd-add-route-expiration-handler-3242.patch
Patch0045: 0045-coredump-ignore-RLIMIT_CORE.patch
Patch0999: 0999-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
@ -959,6 +962,10 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
/usr/lib/firewalld/services/*
%changelog
* Tue Aug 9 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 229-11
- Ignore RLIMIT_CORE temporarily for F24 (#1309172, see comment 24)
- Two networkd fixes (#1344661, #1350219)
* Thu Jul 28 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 229-10
- Backport patch which prevents udevd from choking on task limits
@ -974,6 +981,7 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
- fix: networkctl status: abort, munmap_chunk(): invalid pointer (#1339131)
- networkd: bump MTU to 1280 for interfaces which have IPv6 enabled (#3077) (#1352378)
- networkd: disable IPv6 for bridge slave (#1352378)
- machinectl man page is packaged (#1351572)
* Mon May 30 2016 Zbigniew Jędrzejewski-Szmek <zbyszek@bupkis> - 229-8
- Patches for #1316964, #1317928, #1338823