diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2019-02-26 09:20:16 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-03-03 15:38:13 +0000 |
commit | 4eb2b3f1503a41474d0c40ada296a9800840267c (patch) | |
tree | a8115d141b07b7d064f434dbaa237676abb517b1 /meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch | |
parent | f1c766fc4e51ada80c022a63176aafd9b40ef07c (diff) | |
download | poky-4eb2b3f1503a41474d0c40ada296a9800840267c.tar.gz |
systemd: upgrade to 241
PATCH REBASED:
==============
0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch
0004-rules-whitelist-hd-devices.patch
0007-rules-watch-metadata-changes-in-ide-devices.patch
0001-Use-getenv-when-secure-versions-are-not-available.patch
0002-don-t-use-glibc-specific-qsort_r.patch
0004-add-fallback-parse_printf_format-implementation.patch
0006-src-basic-missing.h-check-for-missing-strndupa.patch
0007-Include-netinet-if_ether.h.patch
0008-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
0009-add-missing-FTW_-macros-for-musl.patch
0012-fix-missing-of-__register_atfork-for-non-glibc-build.patch
0013-Use-uintmax_t-for-handling-rlim_t.patch
0014-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch
0021-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
PATCH DROPPED:
==============
0005-Make-root-s-home-directory-configurable.patch
systemd has its hardcoded assumption about /home and /, and it also respects
$HOME environment var, so this patch is somehow useless. This patch was originally
added but in fact had no real runtime effect except messing up some hardcoded assumptions,
and it was accidently manipulated during systemd upgrade. We have in fact not
used the orignal patch for more than two releases and things were working out
well.
0006-remove-nobody-user-group-checking.patch
The issue has been fixed upstream by the following commit.
"check nobody user/group validity only when not cross compiling"
0008-Do-not-enable-nss-tests-if-nss-systemd-is-not-enable.patch
0009-nss-mymachines-Build-conditionally-when-ENABLE_MYHOS.patch
The issue has been fixed upstream by the following commit.
"meson: allow building resolved and machined without nss modules"
0001-login-use-parse_uid-when-unmounting-user-runtime-dir.patch
0001-sd-bus-make-BUS_DEFAULT_TIMEOUT-configurable.patch
Backport
0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch
Merged
0023-resolvconf-fixes-for-the-compatibility-interface.patch
0001-core-when-deserializing-state-always-use-read_line-L.patch
0001-chown-recursive-let-s-rework-the-recursive-logic-to-.patch
0001-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch
0001-Revert-sysctl.d-request-ECN-on-both-in-and-outgoing-.patch
0001-timesync-changes-type-of-drift_freq-to-int64_t.patch
Backport
0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch
0002-core-Fix-use-after-free-case-in-load_from_path.patch
Merged
0001-meson-rename-Ddebug-to-Ddebug-extra.patch
0024-journald-do-not-store-the-iovec-entry-for-process-co.patch
0025-journald-set-a-limit-on-the-number-of-fields.patch
0026-journal-fix-out-of-bounds-read-CVE-2018-16866.patch
CVE-2019-6454.patch
sd-bus-if-we-receive-an-invalid-dbus-message-ignore-.patch
0005-basic-user-util-properly-protect-use-of-gshadow.patch
0022-Use-if-instead-of-ifdef-for-ENABLE_GSHADOW.patch
Backport
0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
No build failure for qemux86/qemuppc + musl
PATCH ADDED:
============
0020-missing_type.h-add-__compar_d_fn_t-definition.patch
0021-avoid-redefinition-of-prctl_mm_map-structure.patch
0022-include-sys-wait.h-to-avoid-compile-failure.patch
0023-socket-util.h-include-string.h.patch
0024-test-json.c-define-M_PIl.patch
0001-do-not-disable-buffer-in-writing-files.patch
PATCH OTHERS:
=============
0003-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
0011-src-basic-missing.h-check-for-missing-__compar_fn_t-.patch
are combined into one patch:
0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
Add two more PACKAGECONFIG, nss-mymachines and nss-resolve which are introduced
by the following commit.
meson: allow building resolved and machined without nss modules
(From OE-Core rev: 816e08c18dbcf6e84dedc7a4bd96ddfbf2f86ebc)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch')
-rw-r--r-- | meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch new file mode 100644 index 0000000000..5901772998 --- /dev/null +++ b/meta/recipes-core/systemd/systemd/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | From fffb2810611b4a26f5c6c0958093b5b3b7d4cd99 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Tue, 10 Jul 2018 15:40:17 +0800 | ||
4 | Subject: [PATCH 18/24] distinguish XSI-compliant strerror_r from GNU-specifi | ||
5 | strerror_r | ||
6 | |||
7 | XSI-compliant strerror_r and GNU-specifi strerror_r are different. | ||
8 | |||
9 | int strerror_r(int errnum, char *buf, size_t buflen); | ||
10 | /* XSI-compliant */ | ||
11 | |||
12 | char *strerror_r(int errnum, char *buf, size_t buflen); | ||
13 | /* GNU-specific */ | ||
14 | |||
15 | We need to distinguish between them. Otherwise, we'll get an int value | ||
16 | assigned to (char *) variable, resulting in segment fault. | ||
17 | |||
18 | Upstream-Status: Inappropriate [musl specific] | ||
19 | |||
20 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
21 | --- | ||
22 | src/journal/journal-send.c | 5 +++++ | ||
23 | src/libsystemd/sd-bus/bus-error.c | 5 +++++ | ||
24 | 2 files changed, 10 insertions(+) | ||
25 | |||
26 | diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c | ||
27 | index 3fea912..4f1e592 100644 | ||
28 | --- a/src/journal/journal-send.c | ||
29 | +++ b/src/journal/journal-send.c | ||
30 | @@ -337,7 +337,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove | ||
31 | char* j; | ||
32 | |||
33 | errno = 0; | ||
34 | +#ifndef __GLIBC__ | ||
35 | + strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); | ||
36 | + j = buffer + 8 + k; | ||
37 | +#else | ||
38 | j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k); | ||
39 | +#endif | ||
40 | if (errno == 0) { | ||
41 | char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; | ||
42 | |||
43 | diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c | ||
44 | index dc95237..bdda30f 100644 | ||
45 | --- a/src/libsystemd/sd-bus/bus-error.c | ||
46 | +++ b/src/libsystemd/sd-bus/bus-error.c | ||
47 | @@ -379,7 +379,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { | ||
48 | return; | ||
49 | |||
50 | errno = 0; | ||
51 | +#ifndef __GLIBC__ | ||
52 | + strerror_r(error, m, k); | ||
53 | + x = m; | ||
54 | +#else | ||
55 | x = strerror_r(error, m, k); | ||
56 | +#endif | ||
57 | if (errno == ERANGE || strlen(x) >= k - 1) { | ||
58 | free(m); | ||
59 | k *= 2; | ||
60 | -- | ||
61 | 2.7.4 | ||
62 | |||