Backport some patches
This commit is contained in:
parent
8d4133f998
commit
27bd1bd49f
31
0012-virt-enable-detecting-QEMU-TCG-via-CPUID-6399.patch
Normal file
31
0012-virt-enable-detecting-QEMU-TCG-via-CPUID-6399.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From e48936b0be085f15a2e2ac88b2e50a91a66782ac Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Berrange <berrange@redhat.com>
|
||||
Date: Wed, 19 Jul 2017 10:06:07 +0100
|
||||
Subject: [PATCH] virt: enable detecting QEMU (TCG) via CPUID (#6399)
|
||||
|
||||
QEMU >= 2.10 will include a CPUID leaf with value "TCGTCGTCGTCG"
|
||||
on x86 when running with the TCG CPU emulator:
|
||||
|
||||
https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg05231.html
|
||||
|
||||
Existing methods of detecting QEMU are left unchanged for sake of
|
||||
backcompatibility.
|
||||
|
||||
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
|
||||
(cherry picked from commit 5588612e9e8828691f13141e3fcebe08a59201fe)
|
||||
---
|
||||
src/basic/virt.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/basic/virt.c b/src/basic/virt.c
|
||||
index 6011744523..5143ac6656 100644
|
||||
--- a/src/basic/virt.c
|
||||
+++ b/src/basic/virt.c
|
||||
@@ -46,6 +46,7 @@ static int detect_vm_cpuid(void) {
|
||||
} cpuid_vendor_table[] = {
|
||||
{ "XenVMMXenVMM", VIRTUALIZATION_XEN },
|
||||
{ "KVMKVMKVM", VIRTUALIZATION_KVM },
|
||||
+ { "TCGTCGTCGTCG", VIRTUALIZATION_QEMU },
|
||||
/* http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458 */
|
||||
{ "VMwareVMware", VIRTUALIZATION_VMWARE },
|
||||
/* https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs */
|
@ -0,0 +1,28 @@
|
||||
From 8864ff594b43a34e5a593da42336f28e2f30b9f5 Mon Sep 17 00:00:00 2001
|
||||
From: Felipe Sateler <fsateler@users.noreply.github.com>
|
||||
Date: Wed, 19 Jul 2017 20:48:23 -0400
|
||||
Subject: [PATCH] test-condition: don't assume that all non-root users are
|
||||
normal users (#6409)
|
||||
|
||||
Automated builders may run under a dedicated system user, and this test would fail that
|
||||
|
||||
Fixes #6366
|
||||
|
||||
(cherry picked from commit 708d423915c4ea48d408b5a3395c11055247b9bc)
|
||||
---
|
||||
src/test/test-condition.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/test/test-condition.c b/src/test/test-condition.c
|
||||
index 121345cfd1..b15f1b98c0 100644
|
||||
--- a/src/test/test-condition.c
|
||||
+++ b/src/test/test-condition.c
|
||||
@@ -390,7 +390,7 @@ static void test_condition_test_user(void) {
|
||||
assert_se(condition);
|
||||
r = condition_test(condition);
|
||||
log_info("ConditionUser=@system → %i", r);
|
||||
- if (geteuid() == 0)
|
||||
+ if (getuid() < SYSTEM_UID_MAX || geteuid() < SYSTEM_UID_MAX)
|
||||
assert_se(r > 0);
|
||||
else
|
||||
assert_se(r == 0);
|
@ -0,0 +1,31 @@
|
||||
From eca55fbc51056b2a4fa3242917b6fc2f0c02e981 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Thu, 20 Jul 2017 19:13:09 +0200
|
||||
Subject: [PATCH] call chase_symlinks without the /sysroot prefix (#6411)
|
||||
|
||||
In case fstab-generator is called in the initrd, chase_symlinks()
|
||||
returns with a canonical path "/sysroot/sysroot/<mountpoint>", if the
|
||||
"/sysroot" prefix is present in the path.
|
||||
|
||||
This patch skips the "/sysroot" prefix for the chase_symlinks() call,
|
||||
because "/sysroot" is already the root directory and chase_symlinks()
|
||||
prepends the root directory in the canonical path returned.
|
||||
|
||||
(cherry picked from commit 98eda38aed6a10c4f6d6ad0cac6e5361e87de52b)
|
||||
---
|
||||
src/fstab-generator/fstab-generator.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
|
||||
index 7f23b9fd74..f172e9c07b 100644
|
||||
--- a/src/fstab-generator/fstab-generator.c
|
||||
+++ b/src/fstab-generator/fstab-generator.c
|
||||
@@ -537,7 +537,7 @@ static int parse_fstab(bool initrd) {
|
||||
continue;
|
||||
}
|
||||
|
||||
- where = initrd ? strappend("/sysroot/", me->mnt_dir) : strdup(me->mnt_dir);
|
||||
+ where = strdup(me->mnt_dir);
|
||||
if (!where)
|
||||
return log_oom();
|
||||
|
@ -0,0 +1,31 @@
|
||||
From 0e50428d3699e3ad25861f458540d24038cfaa4e Mon Sep 17 00:00:00 2001
|
||||
From: Lennart Poettering <lennart@poettering.net>
|
||||
Date: Thu, 20 Jul 2017 20:46:58 +0200
|
||||
Subject: [PATCH] nspawn: downgrade warning when we get sd_notify() message
|
||||
from unexpected process (#6416)
|
||||
|
||||
Given that we set NOTIFY_SOCKET unconditionally it's not surprising that
|
||||
processes way down the process tree think it's smart to send us a
|
||||
notification message.
|
||||
|
||||
It's still useful to keep this message, for debugging things, but it
|
||||
shouldn't be generated by default.
|
||||
|
||||
(cherry picked from commit 8cb574307963d1aeb1c53e1d1fbeee4a2be37259)
|
||||
---
|
||||
src/nspawn/nspawn.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||
index 8a5fedd4b0..0cbd8c3491 100644
|
||||
--- a/src/nspawn/nspawn.c
|
||||
+++ b/src/nspawn/nspawn.c
|
||||
@@ -2836,7 +2836,7 @@ static int nspawn_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t r
|
||||
}
|
||||
|
||||
if (!ucred || ucred->pid != inner_child_pid) {
|
||||
- log_warning("Received notify message without valid credentials. Ignoring.");
|
||||
+ log_debug("Received notify message without valid credentials. Ignoring.");
|
||||
return 0;
|
||||
}
|
||||
|
@ -0,0 +1,71 @@
|
||||
From 29d9cfc097586ac79911a5f5035c45b1971a5b1f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Sat, 22 Jul 2017 08:39:49 -0400
|
||||
Subject: [PATCH] Revert "core: don't load dropin data multiple times for the
|
||||
same unit (#5139)"
|
||||
|
||||
This reverts commit 2d058a87ffb2d31a50422a8aebd119bbb4427244.
|
||||
|
||||
When we add another name to a unit (by following an alias), we need to
|
||||
reload all drop-ins. This is necessary to load any additional dropins
|
||||
found in the dirs created from the alias name.
|
||||
|
||||
Fixes #6334.
|
||||
|
||||
(cherry picked from commit 9e4ea9cc34fa032a47c253ddd94ac6c7afda663e)
|
||||
---
|
||||
src/core/unit.c | 23 +++++++----------------
|
||||
1 file changed, 7 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/core/unit.c b/src/core/unit.c
|
||||
index b28eeb2262..9d913e8c64 100644
|
||||
--- a/src/core/unit.c
|
||||
+++ b/src/core/unit.c
|
||||
@@ -1098,7 +1098,6 @@ void unit_dump(Unit *u, FILE *f, const char *prefix) {
|
||||
|
||||
/* Common implementation for multiple backends */
|
||||
int unit_load_fragment_and_dropin(Unit *u) {
|
||||
- Unit *t;
|
||||
int r;
|
||||
|
||||
assert(u);
|
||||
@@ -1111,18 +1110,15 @@ int unit_load_fragment_and_dropin(Unit *u) {
|
||||
if (u->load_state == UNIT_STUB)
|
||||
return -ENOENT;
|
||||
|
||||
- /* If the unit is an alias and the final unit has already been
|
||||
- * loaded, there's no point in reloading the dropins one more time. */
|
||||
- t = unit_follow_merge(u);
|
||||
- if (t != u && t->load_state != UNIT_STUB)
|
||||
- return 0;
|
||||
-
|
||||
- return unit_load_dropin(t);
|
||||
+ /* Load drop-in directory data. If u is an alias, we might be reloading the
|
||||
+ * target unit needlessly. But we cannot be sure which drops-ins have already
|
||||
+ * been loaded and which not, at least without doing complicated book-keeping,
|
||||
+ * so let's always reread all drop-ins. */
|
||||
+ return unit_load_dropin(unit_follow_merge(u));
|
||||
}
|
||||
|
||||
/* Common implementation for multiple backends */
|
||||
int unit_load_fragment_and_dropin_optional(Unit *u) {
|
||||
- Unit *t;
|
||||
int r;
|
||||
|
||||
assert(u);
|
||||
@@ -1138,13 +1134,8 @@ int unit_load_fragment_and_dropin_optional(Unit *u) {
|
||||
if (u->load_state == UNIT_STUB)
|
||||
u->load_state = UNIT_LOADED;
|
||||
|
||||
- /* If the unit is an alias and the final unit has already been
|
||||
- * loaded, there's no point in reloading the dropins one more time. */
|
||||
- t = unit_follow_merge(u);
|
||||
- if (t != u && t->load_state != UNIT_STUB)
|
||||
- return 0;
|
||||
-
|
||||
- return unit_load_dropin(t);
|
||||
+ /* Load drop-in directory data */
|
||||
+ return unit_load_dropin(unit_follow_merge(u));
|
||||
}
|
||||
|
||||
int unit_add_default_target_dependency(Unit *u, Unit *target) {
|
@ -0,0 +1,73 @@
|
||||
From f6441eaf050267c05ef8df8d5614bb598528942f Mon Sep 17 00:00:00 2001
|
||||
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||||
Date: Thu, 27 Jul 2017 20:22:54 +0900
|
||||
Subject: [PATCH] bash-completion: use the first argument instead of the global
|
||||
variable (#6457)
|
||||
|
||||
Without this fix:
|
||||
|
||||
$ systemctl start <tab>
|
||||
Display all 135 possibilities? (y or n)
|
||||
$ __get_startable_units --system | wc -l
|
||||
224
|
||||
|
||||
the number of the suggestions are quite different, as __get_startable_units --system does
|
||||
not filter already started units. With this fix,
|
||||
|
||||
$ systemctl start <tab>
|
||||
Display all 135 possibilities? (y or n)
|
||||
$ __get_startable_units --system | wc -l
|
||||
123
|
||||
$ __get_template_names --system | wc -l
|
||||
12
|
||||
|
||||
the number of the suggestions matches one the function returns.
|
||||
For consistency with the other internal functions, it should use the first argument
|
||||
instead of the global variable $mode.
|
||||
|
||||
[zj: add commit message to make it sound like we know what we're doing]
|
||||
|
||||
(cherry picked from commit 6bda23dd6aaba50cf8e3e6024248cf736cc443ca)
|
||||
---
|
||||
shell-completion/bash/systemctl.in | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/shell-completion/bash/systemctl.in b/shell-completion/bash/systemctl.in
|
||||
index 0398d09d18..bde28efc3e 100644
|
||||
--- a/shell-completion/bash/systemctl.in
|
||||
+++ b/shell-completion/bash/systemctl.in
|
||||
@@ -68,7 +68,7 @@ __filter_units_by_properties () {
|
||||
done
|
||||
for ((i=0; i < ${#units[*]}; i++)); do
|
||||
for ((j=0; j < ${#conditions[*]}; j++)); do
|
||||
- if [[ "${props[ i * ${#conditions[*]} + j]}" != "${conditions[j]}" ]]; then
|
||||
+ if [[ "${props[i * ${#conditions[*]} + j]}" != "${conditions[j]}" ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
@@ -87,19 +87,19 @@ __get_active_units () { __systemctl $1 list-units \
|
||||
| { while read -r a b; do echo " $a"; done; }; }
|
||||
__get_startable_units () {
|
||||
# find startable inactive units
|
||||
- __filter_units_by_properties $mode ActiveState,CanStart inactive,yes $(
|
||||
- { __systemctl $mode list-unit-files --state enabled,enabled-runtime,linked,linked-runtime,static,indirect,disabled,generated,transient | \
|
||||
+ __filter_units_by_properties $1 ActiveState,CanStart inactive,yes $(
|
||||
+ { __systemctl $1 list-unit-files --state enabled,enabled-runtime,linked,linked-runtime,static,indirect,disabled,generated,transient | \
|
||||
{ while read -r a b; do [[ $a =~ @\. ]] || echo " $a"; done; }
|
||||
- __systemctl $mode list-units --state inactive,failed | \
|
||||
+ __systemctl $1 list-units --state inactive,failed | \
|
||||
{ while read -r a b c; do [[ $b == "loaded" ]] && echo " $a"; done; }
|
||||
} | sort -u )
|
||||
}
|
||||
__get_restartable_units () {
|
||||
# filter out masked and not-found
|
||||
- __filter_units_by_property $mode CanStart yes $(
|
||||
- __systemctl $mode list-unit-files --state enabled,disabled,static | \
|
||||
+ __filter_units_by_property $1 CanStart yes $(
|
||||
+ __systemctl $1 list-unit-files --state enabled,disabled,static | \
|
||||
{ while read -r a b; do [[ $a =~ @\. ]] || echo " $a"; done; }
|
||||
- __systemctl $mode list-units | \
|
||||
+ __systemctl $1 list-units | \
|
||||
{ while read -r a b; do echo " $a"; done; } )
|
||||
}
|
||||
__get_failed_units () { __systemctl $1 list-units \
|
@ -0,0 +1,49 @@
|
||||
From ea0ff5cd4efb1d67820572fb0d7d1d8da0fc1dc1 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Fri, 28 Jul 2017 09:46:05 +0200
|
||||
Subject: [PATCH] boot/efi: don't hard fail on error for tpm measure (#6473)
|
||||
|
||||
Display the error for a small amount of time, but don't fail hard.
|
||||
|
||||
In case of a faulty BIOS, a TPM error should not prevent the boot.
|
||||
If something cares about the PCM measurement, it will be noticed
|
||||
anyway later on.
|
||||
|
||||
Especially important now, that TPM measurement is the default now on
|
||||
some distribution builds.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1411156
|
||||
(cherry picked from commit 522aa9f5f8755d7389131da41bd60b6276917ff2)
|
||||
---
|
||||
src/boot/efi/boot.c | 3 +--
|
||||
src/boot/efi/stub.c | 3 +--
|
||||
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
|
||||
index 1e990b3825..316e95a72b 100644
|
||||
--- a/src/boot/efi/boot.c
|
||||
+++ b/src/boot/efi/boot.c
|
||||
@@ -1657,8 +1657,7 @@ static EFI_STATUS image_start(EFI_HANDLE parent_image, const Config *config, con
|
||||
loaded_image->LoadOptionsSize, loaded_image->LoadOptions);
|
||||
if (EFI_ERROR(err)) {
|
||||
Print(L"Unable to add image options measurement: %r", err);
|
||||
- uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
|
||||
- return err;
|
||||
+ uefi_call_wrapper(BS->Stall, 1, 200 * 1000);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
|
||||
index bab5d46de9..2562228090 100644
|
||||
--- a/src/boot/efi/stub.c
|
||||
+++ b/src/boot/efi/stub.c
|
||||
@@ -94,8 +94,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
|
||||
loaded_image->LoadOptionsSize, loaded_image->LoadOptions);
|
||||
if (EFI_ERROR(err)) {
|
||||
Print(L"Unable to add image options measurement: %r", err);
|
||||
- uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
|
||||
- return err;
|
||||
+ uefi_call_wrapper(BS->Stall, 1, 200 * 1000);
|
||||
}
|
||||
#endif
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
From 9c27ced1fac191139a131d179a25801ce9ca3357 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Wed, 26 Jul 2017 14:11:15 -0400
|
||||
Subject: [PATCH] meson: -D remote and -D importd should be "combo" options
|
||||
|
||||
The default should be 'auto', and we allow 'true'
|
||||
and 'false' too.
|
||||
|
||||
Fixes #6445.
|
||||
|
||||
(cherry picked from commit b1519d656691e725a8b8950fc0e6cc8d25b1016a)
|
||||
---
|
||||
meson_options.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 1594fec41f..b7a45d5806 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -69,7 +69,7 @@ option('timedated', type : 'boolean',
|
||||
description : 'install the systemd-timedated daemon')
|
||||
option('timesyncd', type : 'boolean',
|
||||
description : 'install the systemd-timesyncd daemon')
|
||||
-option('remote', type : 'boolean',
|
||||
+option('remote', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
description : 'support for "journal over the network"')
|
||||
option('myhostname', type : 'boolean',
|
||||
description : 'nss-myhostname support')
|
||||
@@ -87,7 +87,7 @@ option('sysusers', type : 'boolean',
|
||||
description : 'support for the sysusers configuration')
|
||||
option('tmpfiles', type : 'boolean',
|
||||
description : 'support for tmpfiles.d')
|
||||
-option('importd', type : 'boolean',
|
||||
+option('importd', type : 'combo', choices : ['auto', 'true', 'false'],
|
||||
description : 'install the systemd-importd daemon')
|
||||
option('hwdb', type : 'boolean',
|
||||
description : 'support for the hardware database')
|
42
0020-cryptsetup-fix-infinite-timeout-6486.patch
Normal file
42
0020-cryptsetup-fix-infinite-timeout-6486.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From c64c6a8b259abfbff5ce202d5d5982b120cf928f Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Soutar <andrew@andrewsoutar.com>
|
||||
Date: Mon, 31 Jul 2017 02:19:16 -0400
|
||||
Subject: [PATCH] cryptsetup: fix infinite timeout (#6486)
|
||||
|
||||
0004f698d causes `arg_timeout` to be infinity instead of 0 when timeout=0. The
|
||||
logic here now matches this change.
|
||||
|
||||
Fixes #6381
|
||||
|
||||
(cherry picked from commit 0864d311766498563331f486909a0d950ba7de87)
|
||||
---
|
||||
src/cryptsetup/cryptsetup.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
|
||||
index 3b4c086162..08ed7e53ba 100644
|
||||
--- a/src/cryptsetup/cryptsetup.c
|
||||
+++ b/src/cryptsetup/cryptsetup.c
|
||||
@@ -56,7 +56,7 @@ static bool arg_tcrypt_veracrypt = false;
|
||||
static char **arg_tcrypt_keyfiles = NULL;
|
||||
static uint64_t arg_offset = 0;
|
||||
static uint64_t arg_skip = 0;
|
||||
-static usec_t arg_timeout = 0;
|
||||
+static usec_t arg_timeout = USEC_INFINITY;
|
||||
|
||||
/* Options Debian's crypttab knows we don't:
|
||||
|
||||
@@ -670,10 +670,10 @@ int main(int argc, char *argv[]) {
|
||||
if (arg_discards)
|
||||
flags |= CRYPT_ACTIVATE_ALLOW_DISCARDS;
|
||||
|
||||
- if (arg_timeout > 0)
|
||||
- until = now(CLOCK_MONOTONIC) + arg_timeout;
|
||||
- else
|
||||
+ if (arg_timeout == USEC_INFINITY)
|
||||
until = 0;
|
||||
+ else
|
||||
+ until = now(CLOCK_MONOTONIC) + arg_timeout;
|
||||
|
||||
arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8));
|
||||
|
@ -0,0 +1,45 @@
|
||||
From cb81159ce49380d39c80f803353784633b8f306c Mon Sep 17 00:00:00 2001
|
||||
From: "S. Fan" <sfanxiang@gmail.com>
|
||||
Date: Mon, 31 Jul 2017 05:10:10 -0500
|
||||
Subject: [PATCH] rfkill: fix erroneous behavior when polling the udev monitor
|
||||
(#6489)
|
||||
|
||||
Comparing udev_device_get_sysname(device) and sysname will always return
|
||||
true. We need to check the device received from udev monitor instead.
|
||||
|
||||
Also, fd_wait_for_event() sometimes never exits. Better set a timeout
|
||||
here.
|
||||
|
||||
(cherry picked from commit 8ec1a07998758f6a85f3ea5bf2ed14d87609398f)
|
||||
---
|
||||
src/rfkill/rfkill.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/rfkill/rfkill.c b/src/rfkill/rfkill.c
|
||||
index c0f138b4f4..470853d1d2 100644
|
||||
--- a/src/rfkill/rfkill.c
|
||||
+++ b/src/rfkill/rfkill.c
|
||||
@@ -138,17 +138,21 @@ static int wait_for_initialized(
|
||||
for (;;) {
|
||||
_cleanup_udev_device_unref_ struct udev_device *t = NULL;
|
||||
|
||||
- r = fd_wait_for_event(watch_fd, POLLIN, USEC_INFINITY);
|
||||
+ r = fd_wait_for_event(watch_fd, POLLIN, EXIT_USEC);
|
||||
if (r == -EINTR)
|
||||
continue;
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to watch udev monitor: %m");
|
||||
+ if (r == 0) {
|
||||
+ log_error("Timed out wating for udev monitor.");
|
||||
+ return -ETIMEDOUT;
|
||||
+ }
|
||||
|
||||
t = udev_monitor_receive_device(monitor);
|
||||
if (!t)
|
||||
continue;
|
||||
|
||||
- if (streq_ptr(udev_device_get_sysname(device), sysname)) {
|
||||
+ if (streq_ptr(udev_device_get_sysname(t), sysname)) {
|
||||
*ret = udev_device_ref(t);
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
From b56c4c19c8d0adca67eb34e1924d881e7d61b97f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Abd=C3=B3=20Roig-Maranges?= <abdo.roig@gmail.com>
|
||||
Date: Mon, 31 Jul 2017 12:32:09 +0200
|
||||
Subject: [PATCH] core: Do not fail perpetual mount units without fragment
|
||||
(#6459)
|
||||
|
||||
mount_load does not require fragment files to be present in order to
|
||||
load mount units which are perpetual, or come from /proc/self/mountinfo.
|
||||
|
||||
mount_verify should do the same, otherwise a synthesized '-.mount' would
|
||||
be marked as failed with "No such file or directory", as it is perpetual
|
||||
but not marked to come from /proc/self/mountinfo at this point.
|
||||
|
||||
This happens for the user instance, and I suspect it was the cause of #5375
|
||||
for the system instance, without gpt-generator.
|
||||
|
||||
(cherry picked from commit 1df96fcb31b3bc30c4a983de4734f61ed5a29115)
|
||||
---
|
||||
src/core/mount.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/core/mount.c b/src/core/mount.c
|
||||
index 214364d87d..7d9644e305 100644
|
||||
--- a/src/core/mount.c
|
||||
+++ b/src/core/mount.c
|
||||
@@ -503,7 +503,7 @@ static int mount_verify(Mount *m) {
|
||||
if (UNIT(m)->load_state != UNIT_LOADED)
|
||||
return 0;
|
||||
|
||||
- if (!m->from_fragment && !m->from_proc_self_mountinfo)
|
||||
+ if (!m->from_fragment && !m->from_proc_self_mountinfo && !UNIT(m)->perpetual)
|
||||
return -ENOENT;
|
||||
|
||||
r = unit_name_from_path(m->where, ".mount", &e);
|
16
systemd.spec
16
systemd.spec
@ -13,7 +13,7 @@
|
||||
Name: systemd
|
||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||
Version: 234
|
||||
Release: 4%{?gitcommit:.git%{gitcommitshort}}%{?dist}
|
||||
Release: 5%{?gitcommit:.git%{gitcommitshort}}%{?dist}
|
||||
# For a breakdown of the licensing, see README
|
||||
License: LGPLv2+ and MIT and GPLv2+
|
||||
Summary: System and Service Manager
|
||||
@ -57,6 +57,17 @@ Patch0008: 0008-core-modify-resource-leak-by-SmackProcessLabel.patch
|
||||
Patch0009: 0009-core-dump-also-missed-security-context.patch
|
||||
Patch0010: 0010-journald-make-sure-we-retain-all-stream-fds-across-r.patch
|
||||
Patch0011: 0011-Use-config_parse_sec_fix_0-also-for-JobRunningTimeou.patch
|
||||
Patch0012: 0012-virt-enable-detecting-QEMU-TCG-via-CPUID-6399.patch
|
||||
Patch0013: 0013-test-condition-don-t-assume-that-all-non-root-users-.patch
|
||||
Patch0014: 0014-call-chase_symlinks-without-the-sysroot-prefix-6411.patch
|
||||
Patch0015: 0015-nspawn-downgrade-warning-when-we-get-sd_notify-messa.patch
|
||||
Patch0016: 0016-Revert-core-don-t-load-dropin-data-multiple-times-fo.patch
|
||||
Patch0017: 0017-bash-completion-use-the-first-argument-instead-of-th.patch
|
||||
Patch0018: 0018-boot-efi-don-t-hard-fail-on-error-for-tpm-measure-64.patch
|
||||
Patch0019: 0019-meson-D-remote-and-D-importd-should-be-combo-options.patch
|
||||
Patch0020: 0020-cryptsetup-fix-infinite-timeout-6486.patch
|
||||
Patch0021: 0021-rfkill-fix-erroneous-behavior-when-polling-the-udev-.patch
|
||||
Patch0022: 0022-core-Do-not-fail-perpetual-mount-units-without-fragm.patch
|
||||
|
||||
Patch0998: 0998-resolved-create-etc-resolv.conf-symlink-at-runtime.patch
|
||||
|
||||
@ -1039,6 +1050,9 @@ getent passwd systemd-journal-upload &>/dev/null || useradd -r -l -g systemd-jou
|
||||
%{pkgdir}/tests
|
||||
|
||||
%changelog
|
||||
* Mon Jul 31 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 234-5
|
||||
- Backport more patches (#1476005, hopefully #1462378)
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org>
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user