summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2021-05-24 11:13:28 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-25 22:36:08 +0100
commit4cac662d7d705ad6d9d43ac4f724d028b054ac72 (patch)
tree37a5665b976deb0ff54bc1166dd2cd197339a53c /meta/recipes-core/systemd
parentf003e6015f613b5786ab374853562282cbcd7958 (diff)
downloadpoky-4cac662d7d705ad6d9d43ac4f724d028b054ac72.tar.gz
systemd: update 247.6 -> 248.3
Drop backports: 48fff0a2af3f62acd446ebec8081b039b72caad8.patch 7c5fd25119a495009ea62f79e5daec34cc464628.patch 0001-analyze-resolve-executable-path-if-it-is-relative.patch 0001-analyze-resolve-executable-path-if-it-is-relative.patch Drop 0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch as difficult to rebase; please resend if you feel strongly that it is needed. Rebase the big pile of musl patches. (From OE-Core rev: e8dd5a36bf2f1e645fb2ff15eb3b5e97c04776e6) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/systemd')
-rw-r--r--meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch179
-rw-r--r--meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch53
-rw-r--r--meta/recipes-core/systemd/systemd-boot_248.3.bb (renamed from meta/recipes-core/systemd/systemd-boot_247.6.bb)0
-rw-r--r--meta/recipes-core/systemd/systemd.inc6
-rw-r--r--meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch39
-rw-r--r--meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch227
-rw-r--r--meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch29
-rw-r--r--meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch26
-rw-r--r--meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch46
-rw-r--r--meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch204
-rw-r--r--meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch56
-rw-r--r--meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch17
-rw-r--r--meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch18
-rw-r--r--meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch9
-rw-r--r--meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch19
-rw-r--r--meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch11
-rw-r--r--meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch46
-rw-r--r--meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch10
-rw-r--r--meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch12
-rw-r--r--meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch116
-rw-r--r--meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch8
-rw-r--r--meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch20
-rw-r--r--meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch97
-rw-r--r--meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch16
-rw-r--r--meta/recipes-core/systemd/systemd_248.3.bb (renamed from meta/recipes-core/systemd/systemd_247.6.bb)11
32 files changed, 388 insertions, 951 deletions
diff --git a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch b/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
deleted file mode 100644
index e3ce296741..0000000000
--- a/meta/recipes-core/systemd/files/48fff0a2af3f62acd446ebec8081b039b72caad8.patch
+++ /dev/null
@@ -1,179 +0,0 @@
1From 48fff0a2af3f62acd446ebec8081b039b72caad8 Mon Sep 17 00:00:00 2001
2From: Daan De Meyer <daan.j.demeyer@gmail.com>
3Date: Fri, 12 Mar 2021 22:09:44 +0000
4Subject: [PATCH] boot: Move console declarations to missing_efi.h
5
6These were added to eficonex.h in gnu-efi 3.0.13. Let's move them
7to missing_efi.h behind an appropriate guard to fix the build with
8recent versions of gnu-efi.
9
10(cherry picked from commit 95ba433a5f34baf92921fb58051bc8241f908c0e)
11
12Upstream-Status: Backport
13Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
14---
15 src/boot/efi/console.c | 57 --------------------------------
16 src/boot/efi/console.h | 6 +---
17 src/boot/efi/missing_efi.h | 67 ++++++++++++++++++++++++++++++++++++++
18 3 files changed, 68 insertions(+), 62 deletions(-)
19
20diff --git a/src/boot/efi/console.c b/src/boot/efi/console.c
21index 2dd4543d51..1d6dfeeea2 100644
22--- a/src/boot/efi/console.c
23+++ b/src/boot/efi/console.c
24@@ -9,63 +9,6 @@
25 #define SYSTEM_FONT_WIDTH 8
26 #define SYSTEM_FONT_HEIGHT 19
27
28-#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
29- { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
30-
31-struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
32-
33-typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
34- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
35- BOOLEAN ExtendedVerification
36-);
37-
38-typedef UINT8 EFI_KEY_TOGGLE_STATE;
39-
40-typedef struct {
41- UINT32 KeyShiftState;
42- EFI_KEY_TOGGLE_STATE KeyToggleState;
43-} EFI_KEY_STATE;
44-
45-typedef struct {
46- EFI_INPUT_KEY Key;
47- EFI_KEY_STATE KeyState;
48-} EFI_KEY_DATA;
49-
50-typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
51- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
52- EFI_KEY_DATA *KeyData
53-);
54-
55-typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
56- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
57- EFI_KEY_TOGGLE_STATE *KeyToggleState
58-);
59-
60-typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
61- EFI_KEY_DATA *KeyData
62-);
63-
64-typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
65- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
66- EFI_KEY_DATA KeyData,
67- EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
68- VOID **NotifyHandle
69-);
70-
71-typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
72- struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
73- VOID *NotificationHandle
74-);
75-
76-typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
77- EFI_INPUT_RESET_EX Reset;
78- EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
79- EFI_EVENT WaitForKeyEx;
80- EFI_SET_STATE SetState;
81- EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
82- EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
83-} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
84-
85 EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait) {
86 EFI_GUID EfiSimpleTextInputExProtocolGuid = EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
87 static EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
88diff --git a/src/boot/efi/console.h b/src/boot/efi/console.h
89index 41df3a406e..2c69af552a 100644
90--- a/src/boot/efi/console.h
91+++ b/src/boot/efi/console.h
92@@ -1,11 +1,7 @@
93 /* SPDX-License-Identifier: LGPL-2.1-or-later */
94 #pragma once
95
96-#define EFI_SHIFT_STATE_VALID 0x80000000
97-#define EFI_RIGHT_CONTROL_PRESSED 0x00000004
98-#define EFI_LEFT_CONTROL_PRESSED 0x00000008
99-#define EFI_RIGHT_ALT_PRESSED 0x00000010
100-#define EFI_LEFT_ALT_PRESSED 0x00000020
101+#include "missing_efi.h"
102
103 #define EFI_CONTROL_PRESSED (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
104 #define EFI_ALT_PRESSED (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
105diff --git a/src/boot/efi/missing_efi.h b/src/boot/efi/missing_efi.h
106index 1b838af2a4..b6aae1eb5b 100644
107--- a/src/boot/efi/missing_efi.h
108+++ b/src/boot/efi/missing_efi.h
109@@ -53,3 +53,70 @@ typedef struct _EFI_RNG_PROTOCOL {
110 } EFI_RNG_PROTOCOL;
111
112 #endif
113+
114+#ifndef EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID
115+
116+#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID \
117+ { 0xdd9e7534, 0x7762, 0x4698, { 0x8c, 0x14, 0xf5, 0x85, 0x17, 0xa6, 0x25, 0xaa } }
118+
119+#define EFI_SHIFT_STATE_VALID 0x80000000
120+#define EFI_RIGHT_CONTROL_PRESSED 0x00000004
121+#define EFI_LEFT_CONTROL_PRESSED 0x00000008
122+#define EFI_RIGHT_ALT_PRESSED 0x00000010
123+#define EFI_LEFT_ALT_PRESSED 0x00000020
124+
125+struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
126+
127+typedef EFI_STATUS (EFIAPI *EFI_INPUT_RESET_EX)(
128+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
129+ BOOLEAN ExtendedVerification
130+);
131+
132+typedef UINT8 EFI_KEY_TOGGLE_STATE;
133+
134+typedef struct {
135+ UINT32 KeyShiftState;
136+ EFI_KEY_TOGGLE_STATE KeyToggleState;
137+} EFI_KEY_STATE;
138+
139+typedef struct {
140+ EFI_INPUT_KEY Key;
141+ EFI_KEY_STATE KeyState;
142+} EFI_KEY_DATA;
143+
144+typedef EFI_STATUS (EFIAPI *EFI_INPUT_READ_KEY_EX)(
145+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
146+ EFI_KEY_DATA *KeyData
147+);
148+
149+typedef EFI_STATUS (EFIAPI *EFI_SET_STATE)(
150+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
151+ EFI_KEY_TOGGLE_STATE *KeyToggleState
152+);
153+
154+typedef EFI_STATUS (EFIAPI *EFI_KEY_NOTIFY_FUNCTION)(
155+ EFI_KEY_DATA *KeyData
156+);
157+
158+typedef EFI_STATUS (EFIAPI *EFI_REGISTER_KEYSTROKE_NOTIFY)(
159+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
160+ EFI_KEY_DATA KeyData,
161+ EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
162+ VOID **NotifyHandle
163+);
164+
165+typedef EFI_STATUS (EFIAPI *EFI_UNREGISTER_KEYSTROKE_NOTIFY)(
166+ struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
167+ VOID *NotificationHandle
168+);
169+
170+typedef struct _EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL {
171+ EFI_INPUT_RESET_EX Reset;
172+ EFI_INPUT_READ_KEY_EX ReadKeyStrokeEx;
173+ EFI_EVENT WaitForKeyEx;
174+ EFI_SET_STATE SetState;
175+ EFI_REGISTER_KEYSTROKE_NOTIFY RegisterKeyNotify;
176+ EFI_UNREGISTER_KEYSTROKE_NOTIFY UnregisterKeyNotify;
177+} EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL;
178+
179+#endif
diff --git a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch b/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
deleted file mode 100644
index ae449791f1..0000000000
--- a/meta/recipes-core/systemd/files/7c5fd25119a495009ea62f79e5daec34cc464628.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1From 7c5fd25119a495009ea62f79e5daec34cc464628 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
3Date: Mon, 12 Apr 2021 14:03:32 +0200
4Subject: [PATCH] meson: do not fail if rsync is not installed with meson
5 0.57.2
6
7https://github.com/mesonbuild/meson/issues/8641
8
9Our CI started to fail. Even if the change is reverted in meson,
10we need a quick workaround here.
11
12Upstream-Status: Backport
13Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
14---
15 man/meson.build | 25 ++++++++++++++-----------
16 1 file changed, 14 insertions(+), 11 deletions(-)
17
18diff --git a/man/meson.build b/man/meson.build
19index 3cae8446cda..f9c4b83dc81 100644
20--- a/man/meson.build
21+++ b/man/meson.build
22@@ -184,17 +184,20 @@ html = custom_target(
23 depends : html_pages,
24 command : ['echo'])
25
26-run_target(
27- 'doc-sync',
28- depends : man_pages + html_pages,
29- command : ['rsync', '-rlv',
30- '--delete-excluded',
31- '--include=man',
32- '--include=*.html',
33- '--exclude=*',
34- '--omit-dir-times',
35- meson.current_build_dir(),
36- get_option('www-target')])
37+rsync = find_program('rsync', required : false)
38+if rsync.found()
39+ run_target(
40+ 'doc-sync',
41+ depends : man_pages + html_pages,
42+ command : [rsync, '-rlv',
43+ '--delete-excluded',
44+ '--include=man',
45+ '--include=*.html',
46+ '--exclude=*',
47+ '--omit-dir-times',
48+ meson.current_build_dir(),
49+ get_option('www-target')])
50+endif
51
52 ############################################################
53
diff --git a/meta/recipes-core/systemd/systemd-boot_247.6.bb b/meta/recipes-core/systemd/systemd-boot_248.3.bb
index 249e620f4e..249e620f4e 100644
--- a/meta/recipes-core/systemd/systemd-boot_247.6.bb
+++ b/meta/recipes-core/systemd/systemd-boot_248.3.bb
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 88dddb309c..0524a25008 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -14,11 +14,9 @@ LICENSE = "GPLv2 & LGPLv2.1"
14LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ 14LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
15 file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" 15 file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
16 16
17SRCREV = "17472dca0160cbe7b807ca648475fd70d0d62fe5" 17SRCREV = "37c4cfde0ce613f0f00544d3f4e2e72bf93d9c76"
18SRCBRANCH = "v247-stable" 18SRCBRANCH = "v248-stable"
19SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \ 19SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH} \
20 file://7c5fd25119a495009ea62f79e5daec34cc464628.patch \
21 file://48fff0a2af3f62acd446ebec8081b039b72caad8.patch \
22" 20"
23 21
24S = "${WORKDIR}/git" 22S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch b/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
deleted file mode 100644
index fd7f94a61d..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-analyze-resolve-executable-path-if-it-is-relative.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From b9b7a8e3825f0433e120f7a6d7d5d635a839cab9 Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Thu, 21 Jan 2021 06:19:44 +0000
4Subject: [PATCH] analyze: resolve executable path if it is relative
5
6Upstream-Status: Backport [https://github.com/systemd/systemd/commit/f1fb046a985521f7d4a662f02546686ff20b7e5d]
7
8Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
9---
10 src/analyze/analyze-verify.c | 7 +++++--
11 1 file changed, 5 insertions(+), 2 deletions(-)
12
13diff --git a/src/analyze/analyze-verify.c b/src/analyze/analyze-verify.c
14index a9c89173bf..969523df18 100644
15--- a/src/analyze/analyze-verify.c
16+++ b/src/analyze/analyze-verify.c
17@@ -115,14 +115,17 @@ static int verify_socket(Unit *u) {
18 }
19
20 int verify_executable(Unit *u, const ExecCommand *exec) {
21+ int r;
22+
23 if (!exec)
24 return 0;
25
26 if (exec->flags & EXEC_COMMAND_IGNORE_FAILURE)
27 return 0;
28
29- if (access(exec->path, X_OK) < 0)
30- return log_unit_error_errno(u, errno, "Command %s is not executable: %m", exec->path);
31+ r = find_executable_full(exec->path, false, NULL);
32+ if (r < 0)
33+ return log_unit_error_errno(u, r, "Command %s is not executable: %m", exec->path);
34
35 return 0;
36 }
37--
382.26.2
39
diff --git a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch b/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
deleted file mode 100644
index 89ef39bc3e..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch
+++ /dev/null
@@ -1,227 +0,0 @@
1From 150d9cade6d475570395cb418b824524dead9577 Mon Sep 17 00:00:00 2001
2From: Joshua Watt <JPEWhacker@gmail.com>
3Date: Fri, 30 Oct 2020 08:15:43 -0500
4Subject: [PATCH] logind: Restore chvt as non-root user without polkit
5
64acf0cfd2f ("logind: check PolicyKit before allowing VT switch") broke
7the ability to write user sessions that run graphical sessions (e.g.
8weston/X11). This was partially amended in 19bb87fbfa ("login: allow
9non-console sessions to change vt") by changing the default PolicyKit
10policy so that non-root users are again allowed to switch the VT. This
11makes the policy when PolKit is not enabled (as on many embedded
12systems) match the default PolKit policy and allows launching graphical
13sessions as a non-root user.
14
15Closes #17473
16---
17 src/login/logind-dbus.c | 11 ++-------
18 src/login/logind-polkit.c | 26 +++++++++++++++++++++
19 src/login/logind-polkit.h | 10 ++++++++
20 src/login/logind-seat-dbus.c | 41 ++++-----------------------------
21 src/login/logind-session-dbus.c | 11 ++-------
22 src/login/meson.build | 1 +
23 6 files changed, 46 insertions(+), 54 deletions(-)
24 create mode 100644 src/login/logind-polkit.c
25 create mode 100644 src/login/logind-polkit.h
26
27diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
28index 0f83ed99bc..a3765d88ba 100644
29--- a/src/login/logind-dbus.c
30+++ b/src/login/logind-dbus.c
31@@ -30,6 +30,7 @@
32 #include "format-util.h"
33 #include "fs-util.h"
34 #include "logind-dbus.h"
35+#include "logind-polkit.h"
36 #include "logind-seat-dbus.h"
37 #include "logind-session-dbus.h"
38 #include "logind-user-dbus.h"
39@@ -1047,15 +1048,7 @@ static int method_activate_session_on_seat(sd_bus_message *message, void *userda
40 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT,
41 "Session %s not on seat %s", session_name, seat_name);
42
43- r = bus_verify_polkit_async(
44- message,
45- CAP_SYS_ADMIN,
46- "org.freedesktop.login1.chvt",
47- NULL,
48- false,
49- UID_INVALID,
50- &m->polkit_registry,
51- error);
52+ r = check_polkit_chvt(message, m, error);
53 if (r < 0)
54 return r;
55 if (r == 0)
56diff --git a/src/login/logind-polkit.c b/src/login/logind-polkit.c
57new file mode 100644
58index 0000000000..9072570cc6
59--- /dev/null
60+++ b/src/login/logind-polkit.c
61@@ -0,0 +1,26 @@
62+/* SPDX-License-Identifier: LGPL-2.1+ */
63+
64+#include "bus-polkit.h"
65+#include "logind-polkit.h"
66+#include "missing_capability.h"
67+#include "user-util.h"
68+
69+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error) {
70+#if ENABLE_POLKIT
71+ return bus_verify_polkit_async(
72+ message,
73+ CAP_SYS_ADMIN,
74+ "org.freedesktop.login1.chvt",
75+ NULL,
76+ false,
77+ UID_INVALID,
78+ &manager->polkit_registry,
79+ error);
80+#else
81+ /* Allow chvt when polkit is not present. This allows a service to start a graphical session as a
82+ * non-root user when polkit is not compiled in, matching the default polkit policy */
83+ return 1;
84+#endif
85+}
86+
87+
88diff --git a/src/login/logind-polkit.h b/src/login/logind-polkit.h
89new file mode 100644
90index 0000000000..476c077a8a
91--- /dev/null
92+++ b/src/login/logind-polkit.h
93@@ -0,0 +1,10 @@
94+/* SPDX-License-Identifier: LGPL-2.1+ */
95+#pragma once
96+
97+#include "sd-bus.h"
98+
99+#include "bus-object.h"
100+#include "logind.h"
101+
102+int check_polkit_chvt(sd_bus_message *message, Manager *manager, sd_bus_error *error);
103+
104diff --git a/src/login/logind-seat-dbus.c b/src/login/logind-seat-dbus.c
105index a945132284..f22e9e2734 100644
106--- a/src/login/logind-seat-dbus.c
107+++ b/src/login/logind-seat-dbus.c
108@@ -9,6 +9,7 @@
109 #include "bus-polkit.h"
110 #include "bus-util.h"
111 #include "logind-dbus.h"
112+#include "logind-polkit.h"
113 #include "logind-seat-dbus.h"
114 #include "logind-seat.h"
115 #include "logind-session-dbus.h"
116@@ -179,15 +180,7 @@ static int method_activate_session(sd_bus_message *message, void *userdata, sd_b
117 if (session->seat != s)
118 return sd_bus_error_setf(error, BUS_ERROR_SESSION_NOT_ON_SEAT, "Session %s not on seat %s", name, s->id);
119
120- r = bus_verify_polkit_async(
121- message,
122- CAP_SYS_ADMIN,
123- "org.freedesktop.login1.chvt",
124- NULL,
125- false,
126- UID_INVALID,
127- &s->manager->polkit_registry,
128- error);
129+ r = check_polkit_chvt(message, s->manager, error);
130 if (r < 0)
131 return r;
132 if (r == 0)
133@@ -215,15 +208,7 @@ static int method_switch_to(sd_bus_message *message, void *userdata, sd_bus_erro
134 if (to <= 0)
135 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid virtual terminal");
136
137- r = bus_verify_polkit_async(
138- message,
139- CAP_SYS_ADMIN,
140- "org.freedesktop.login1.chvt",
141- NULL,
142- false,
143- UID_INVALID,
144- &s->manager->polkit_registry,
145- error);
146+ r = check_polkit_chvt(message, s->manager, error);
147 if (r < 0)
148 return r;
149 if (r == 0)
150@@ -243,15 +228,7 @@ static int method_switch_to_next(sd_bus_message *message, void *userdata, sd_bus
151 assert(message);
152 assert(s);
153
154- r = bus_verify_polkit_async(
155- message,
156- CAP_SYS_ADMIN,
157- "org.freedesktop.login1.chvt",
158- NULL,
159- false,
160- UID_INVALID,
161- &s->manager->polkit_registry,
162- error);
163+ r = check_polkit_chvt(message, s->manager, error);
164 if (r < 0)
165 return r;
166 if (r == 0)
167@@ -271,15 +248,7 @@ static int method_switch_to_previous(sd_bus_message *message, void *userdata, sd
168 assert(message);
169 assert(s);
170
171- r = bus_verify_polkit_async(
172- message,
173- CAP_SYS_ADMIN,
174- "org.freedesktop.login1.chvt",
175- NULL,
176- false,
177- UID_INVALID,
178- &s->manager->polkit_registry,
179- error);
180+ r = check_polkit_chvt(message, s->manager, error);
181 if (r < 0)
182 return r;
183 if (r == 0)
184diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c
185index ccc5ac8df2..57c8a4e900 100644
186--- a/src/login/logind-session-dbus.c
187+++ b/src/login/logind-session-dbus.c
188@@ -11,6 +11,7 @@
189 #include "fd-util.h"
190 #include "logind-brightness.h"
191 #include "logind-dbus.h"
192+#include "logind-polkit.h"
193 #include "logind-seat-dbus.h"
194 #include "logind-session-dbus.h"
195 #include "logind-session-device.h"
196@@ -192,15 +193,7 @@ int bus_session_method_activate(sd_bus_message *message, void *userdata, sd_bus_
197 assert(message);
198 assert(s);
199
200- r = bus_verify_polkit_async(
201- message,
202- CAP_SYS_ADMIN,
203- "org.freedesktop.login1.chvt",
204- NULL,
205- false,
206- UID_INVALID,
207- &s->manager->polkit_registry,
208- error);
209+ r = check_polkit_chvt(message, s->manager, error);
210 if (r < 0)
211 return r;
212 if (r == 0)
213diff --git a/src/login/meson.build b/src/login/meson.build
214index 0a7d3d5440..7e46be2add 100644
215--- a/src/login/meson.build
216+++ b/src/login/meson.build
217@@ -26,6 +26,7 @@ liblogind_core_sources = files('''
218 logind-device.h
219 logind-inhibit.c
220 logind-inhibit.h
221+ logind-polkit.c
222 logind-seat-dbus.c
223 logind-seat-dbus.h
224 logind-seat.c
225--
2262.28.0
227
diff --git a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
index d856bcb583..4cdf66e767 100644
--- a/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
+++ b/meta/recipes-core/systemd/systemd/0002-don-t-use-glibc-specific-qsort_r.patch
@@ -1,7 +1,7 @@
1From 66ece0b870b3a34fdabc48b88437e6cc354e9fce Mon Sep 17 00:00:00 2001 1From 159c53612444ec1df492bae528a5a88a275b93bf Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 13:41:41 +0800 3Date: Mon, 25 Feb 2019 13:41:41 +0800
4Subject: [PATCH 02/26] don't use glibc-specific qsort_r 4Subject: [PATCH] don't use glibc-specific qsort_r
5 5
6Upstream-Status: Inappropriate [musl specific] 6Upstream-Status: Inappropriate [musl specific]
7 7
@@ -12,6 +12,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
12Signed-off-by: Andrej Valek <andrej.valek@siemens.com> 12Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
13[Rebased for v247] 13[Rebased for v247]
14Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 14Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
15
15--- 16---
16 src/basic/sort-util.h | 14 ------------ 17 src/basic/sort-util.h | 14 ------------
17 src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++----- 18 src/libsystemd/sd-hwdb/hwdb-util.c | 19 +++++++++++-----
@@ -19,14 +20,13 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
19 3 files changed, 38 insertions(+), 31 deletions(-) 20 3 files changed, 38 insertions(+), 31 deletions(-)
20 21
21diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h 22diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
22index 1d194a1f04..3394c9eb72 100644 23index 49586a4a24..d92a5ab0ed 100644
23--- a/src/basic/sort-util.h 24--- a/src/basic/sort-util.h
24+++ b/src/basic/sort-util.h 25+++ b/src/basic/sort-util.h
25@@ -54,17 +54,3 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f 26@@ -55,18 +55,4 @@ static inline void _qsort_safe(void *base, size_t nmemb, size_t size, __compar_f
26 int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
27 _qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \ 27 _qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
28 }) 28 })
29- 29
30-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) { 30-static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
31- if (nmemb <= 1) 31- if (nmemb <= 1)
32- return; 32- return;
@@ -40,11 +40,13 @@ index 1d194a1f04..3394c9eb72 100644
40- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \ 40- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
41- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \ 41- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
42- }) 42- })
43-
44 int cmp_int(const int *a, const int *b);
43diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c 45diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
44index 4c94ba9c88..95495dba6d 100644 46index fd45ff0f54..ac4b63c49b 100644
45--- a/src/libsystemd/sd-hwdb/hwdb-util.c 47--- a/src/libsystemd/sd-hwdb/hwdb-util.c
46+++ b/src/libsystemd/sd-hwdb/hwdb-util.c 48+++ b/src/libsystemd/sd-hwdb/hwdb-util.c
47@@ -126,9 +126,13 @@ static void trie_free(struct trie *trie) { 49@@ -126,9 +126,13 @@ static struct trie* trie_free(struct trie *trie) {
48 50
49 DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free); 51 DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
50 52
@@ -85,10 +87,10 @@ index 4c94ba9c88..95495dba6d 100644
85 } 87 }
86 88
87diff --git a/src/shared/format-table.c b/src/shared/format-table.c 89diff --git a/src/shared/format-table.c b/src/shared/format-table.c
88index a13a198b7a..bce10bc607 100644 90index dccb796b26..c3ab8ac296 100644
89--- a/src/shared/format-table.c 91--- a/src/shared/format-table.c
90+++ b/src/shared/format-table.c 92+++ b/src/shared/format-table.c
91@@ -1243,30 +1243,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t 93@@ -1290,30 +1290,32 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
92 return CMP(index_a, index_b); 94 return CMP(index_a, index_b);
93 } 95 }
94 96
@@ -131,7 +133,7 @@ index a13a198b7a..bce10bc607 100644
131 } 133 }
132 134
133 /* Order identical lines by the order there were originally added in */ 135 /* Order identical lines by the order there were originally added in */
134@@ -1844,7 +1846,12 @@ int table_print(Table *t, FILE *f) { 136@@ -1952,7 +1954,12 @@ int table_print(Table *t, FILE *f) {
135 for (size_t i = 0; i < n_rows; i++) 137 for (size_t i = 0; i < n_rows; i++)
136 sorted[i] = i * t->n_columns; 138 sorted[i] = i * t->n_columns;
137 139
@@ -145,7 +147,7 @@ index a13a198b7a..bce10bc607 100644
145 } 147 }
146 148
147 if (t->display_map) 149 if (t->display_map)
148@@ -2440,7 +2447,12 @@ int table_to_json(Table *t, JsonVariant **ret) { 150@@ -2580,7 +2587,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
149 for (size_t i = 0; i < n_rows; i++) 151 for (size_t i = 0; i < n_rows; i++)
150 sorted[i] = i * t->n_columns; 152 sorted[i] = i * t->n_columns;
151 153
@@ -159,6 +161,3 @@ index a13a198b7a..bce10bc607 100644
159 } 161 }
160 162
161 if (t->display_map) 163 if (t->display_map)
162--
1632.27.0
164
diff --git a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
index f43a22aa8b..9b1768d9ca 100644
--- a/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ b/meta/recipes-core/systemd/systemd/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
@@ -1,7 +1,7 @@
1From 9f0d5996bbb2db3679a4075fa8301750b786c03b Mon Sep 17 00:00:00 2001 1From 4afb8adc83348bf75964fc10af7902e04dd62637 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 13:55:12 +0800 3Date: Mon, 25 Feb 2019 13:55:12 +0800
4Subject: [PATCH 03/26] missing_type.h: add __compare_fn_t and comparison_fn_t 4Subject: [PATCH] missing_type.h: add __compare_fn_t and comparison_fn_t
5 5
6Make it work with musl where comparison_fn_t and __compare_fn_t 6Make it work with musl where comparison_fn_t and __compare_fn_t
7is not provided. 7is not provided.
@@ -13,11 +13,12 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
13Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 13Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
14[Rebased for v242] 14[Rebased for v242]
15Signed-off-by: Andrej Valek <andrej.valek@siemens.com> 15Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
16
16--- 17---
17 src/basic/missing_type.h | 9 +++++++++ 18 src/basic/missing_type.h | 9 +++++++++
18 src/basic/sort-util.h | 1 + 19 src/basic/sort-util.h | 1 +
19 src/core/kmod-setup.c | 1 + 20 src/core/kmod-setup.c | 1 +
20 src/journal/catalog.c | 1 + 21 src/libsystemd/sd-journal/catalog.c | 1 +
21 4 files changed, 12 insertions(+) 22 4 files changed, 12 insertions(+)
22 23
23diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h 24diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
@@ -38,7 +39,7 @@ index f6233090a9..aeaf6ad5ec 100644
38+typedef int (*__compar_fn_t)(const void *, const void *); 39+typedef int (*__compar_fn_t)(const void *, const void *);
39+#endif 40+#endif
40diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h 41diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
41index 3394c9eb72..d9cb2aecb6 100644 42index d92a5ab0ed..a63867c716 100644
42--- a/src/basic/sort-util.h 43--- a/src/basic/sort-util.h
43+++ b/src/basic/sort-util.h 44+++ b/src/basic/sort-util.h
44@@ -4,6 +4,7 @@ 45@@ -4,6 +4,7 @@
@@ -61,10 +62,10 @@ index 8a7f82812a..a56f12f47f 100644
61 62
62 #if HAVE_KMOD 63 #if HAVE_KMOD
63 #include "module-util.h" 64 #include "module-util.h"
64diff --git a/src/journal/catalog.c b/src/journal/catalog.c 65diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
65index 0f6ad8a29e..4e1077ade4 100644 66index aea3241d18..75e6c56a28 100644
66--- a/src/journal/catalog.c 67--- a/src/libsystemd/sd-journal/catalog.c
67+++ b/src/journal/catalog.c 68+++ b/src/libsystemd/sd-journal/catalog.c
68@@ -28,6 +28,7 @@ 69@@ -28,6 +28,7 @@
69 #include "string-util.h" 70 #include "string-util.h"
70 #include "strv.h" 71 #include "strv.h"
@@ -73,6 +74,3 @@ index 0f6ad8a29e..4e1077ade4 100644
73 74
74 const char * const catalog_file_dirs[] = { 75 const char * const catalog_file_dirs[] = {
75 "/usr/local/lib/systemd/catalog/", 76 "/usr/local/lib/systemd/catalog/",
76--
772.27.0
78
diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index bdd64a0252..dc40a2fe8d 100644
--- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -1,7 +1,7 @@
1From f3dbe29f7620a063af4d8eb3ea7c48ecd410200d Mon Sep 17 00:00:00 2001 1From 6c18e5f9373da3e3b38f2c5727e2aefe07fcbbd9 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 25 Feb 2019 14:04:21 +0800 3Date: Sat, 22 May 2021 20:26:24 +0200
4Subject: [PATCH 04/26] add fallback parse_printf_format implementation 4Subject: [PATCH] [PATCH] add fallback parse_printf_format implementation
5 5
6Upstream-Status: Inappropriate [musl specific] 6Upstream-Status: Inappropriate [musl specific]
7 7
@@ -11,21 +11,21 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
11[rebased for systemd 243] 11[rebased for systemd 243]
12Signed-off-by: Scott Murray <scott.murray@konsulko.com> 12Signed-off-by: Scott Murray <scott.murray@konsulko.com>
13--- 13---
14 meson.build | 1 + 14 meson.build | 1 +
15 src/basic/meson.build | 5 + 15 src/basic/meson.build | 5 +
16 src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++ 16 src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++
17 src/basic/parse-printf-format.h | 57 +++++++ 17 src/basic/parse-printf-format.h | 57 +++++
18 src/basic/stdio-util.h | 2 +- 18 src/basic/stdio-util.h | 2 +-
19 src/journal/journal-send.c | 2 +- 19 src/libsystemd/sd-journal/journal-send.c | 2 +-
20 6 files changed, 338 insertions(+), 2 deletions(-) 20 6 files changed, 338 insertions(+), 2 deletions(-)
21 create mode 100644 src/basic/parse-printf-format.c 21 create mode 100644 src/basic/parse-printf-format.c
22 create mode 100644 src/basic/parse-printf-format.h 22 create mode 100644 src/basic/parse-printf-format.h
23 23
24diff --git a/meson.build b/meson.build 24diff --git a/meson.build b/meson.build
25index f406d595e6..6aa47fc755 100644 25index 27186d63a3..2abb7b3188 100644
26--- a/meson.build 26--- a/meson.build
27+++ b/meson.build 27+++ b/meson.build
28@@ -646,6 +646,7 @@ endif 28@@ -675,6 +675,7 @@ endif
29 foreach header : ['crypt.h', 29 foreach header : ['crypt.h',
30 'linux/memfd.h', 30 'linux/memfd.h',
31 'linux/vm_sockets.h', 31 'linux/vm_sockets.h',
@@ -34,21 +34,21 @@ index f406d595e6..6aa47fc755 100644
34 'valgrind/memcheck.h', 34 'valgrind/memcheck.h',
35 'valgrind/valgrind.h', 35 'valgrind/valgrind.h',
36diff --git a/src/basic/meson.build b/src/basic/meson.build 36diff --git a/src/basic/meson.build b/src/basic/meson.build
37index 1183ea83ad..aa5c958850 100644 37index 60ef801a25..aba2172edd 100644
38--- a/src/basic/meson.build 38--- a/src/basic/meson.build
39+++ b/src/basic/meson.build 39+++ b/src/basic/meson.build
40@@ -322,6 +322,11 @@ foreach item : [['af', af_list_txt, 'af', ''], 40@@ -341,6 +341,11 @@ endforeach
41 endforeach
42 41
43 basic_sources += generated_gperf_headers 42 basic_sources += generated_gperf_headers
44+ 43
45+if conf.get('HAVE_PRINTF_H') != 1 44+if conf.get('HAVE_PRINTF_H') != 1
46+ basic_sources += [files('parse-printf-format.c')] 45+ basic_sources += [files('parse-printf-format.c')]
47+endif 46+endif
48+ 47+
49 basic_gcrypt_sources = files( 48+
50 'gcrypt-util.c', 49 ############################################################
51 'gcrypt-util.h') 50
51 arch_list = [
52diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c 52diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
53new file mode 100644 53new file mode 100644
54index 0000000000..49437e5445 54index 0000000000..49437e5445
@@ -410,10 +410,10 @@ index 6dc1e72312..cea76b36cf 100644
410 410
411 #define snprintf_ok(buf, len, fmt, ...) \ 411 #define snprintf_ok(buf, len, fmt, ...) \
412 ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len)) 412 ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
413diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c 413diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
414index fd3fd7ef9c..e8e6ad555b 100644 414index fd3fd7ef9c..e8e6ad555b 100644
415--- a/src/journal/journal-send.c 415--- a/src/libsystemd/sd-journal/journal-send.c
416+++ b/src/journal/journal-send.c 416+++ b/src/libsystemd/sd-journal/journal-send.c
417@@ -2,7 +2,6 @@ 417@@ -2,7 +2,6 @@
418 418
419 #include <errno.h> 419 #include <errno.h>
@@ -431,5 +431,5 @@ index fd3fd7ef9c..e8e6ad555b 100644
431 #define SNDBUF_SIZE (8*1024*1024) 431 #define SNDBUF_SIZE (8*1024*1024)
432 432
433-- 433--
4342.27.0 4342.24.0
435 435
diff --git a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
index d63e3c0d09..a0d757b3f3 100644
--- a/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ b/meta/recipes-core/systemd/systemd/0005-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -1,7 +1,7 @@
1From 5aeae0ea89f5af74ed5d95bed1d87a03b3801ff0 Mon Sep 17 00:00:00 2001 1From 6b0732ac7164914ce16e231e35980b849bdfc4c8 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 14:18:21 +0800 3Date: Mon, 25 Feb 2019 14:18:21 +0800
4Subject: [PATCH 05/26] src/basic/missing.h: check for missing strndupa 4Subject: [PATCH] src/basic/missing.h: check for missing strndupa
5 5
6include missing.h for definition of strndupa 6include missing.h for definition of strndupa
7 7
@@ -17,6 +17,7 @@ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
17[rebased for systemd 244] 17[rebased for systemd 244]
18[Rebased for v247] 18[Rebased for v247]
19Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 19Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
20
20--- 21---
21 meson.build | 1 + 22 meson.build | 1 +
22 src/backlight/backlight.c | 1 + 23 src/backlight/backlight.c | 1 +
@@ -25,6 +26,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
25 src/basic/log.c | 1 + 26 src/basic/log.c | 1 +
26 src/basic/missing_stdlib.h | 12 ++++++++++++ 27 src/basic/missing_stdlib.h | 12 ++++++++++++
27 src/basic/mkdir.c | 1 + 28 src/basic/mkdir.c | 1 +
29 src/basic/mountpoint-util.c | 1 +
28 src/basic/parse-util.c | 1 + 30 src/basic/parse-util.c | 1 +
29 src/basic/path-lookup.c | 1 + 31 src/basic/path-lookup.c | 1 +
30 src/basic/proc-cmdline.c | 1 + 32 src/basic/proc-cmdline.c | 1 +
@@ -41,12 +43,12 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
41 src/coredump/coredump-vacuum.c | 1 + 43 src/coredump/coredump-vacuum.c | 1 +
42 src/journal-remote/journal-remote-main.c | 1 + 44 src/journal-remote/journal-remote-main.c | 1 +
43 src/journal/journalctl.c | 1 + 45 src/journal/journalctl.c | 1 +
44 src/journal/sd-journal.c | 1 +
45 src/libsystemd/sd-bus/bus-message.c | 1 + 46 src/libsystemd/sd-bus/bus-message.c | 1 +
46 src/libsystemd/sd-bus/bus-objects.c | 1 + 47 src/libsystemd/sd-bus/bus-objects.c | 1 +
47 src/libsystemd/sd-bus/bus-socket.c | 1 + 48 src/libsystemd/sd-bus/bus-socket.c | 1 +
48 src/libsystemd/sd-bus/sd-bus.c | 1 + 49 src/libsystemd/sd-bus/sd-bus.c | 1 +
49 src/libsystemd/sd-bus/test-bus-benchmark.c | 1 + 50 src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
51 src/libsystemd/sd-journal/sd-journal.c | 1 +
50 src/locale/keymap-util.c | 1 + 52 src/locale/keymap-util.c | 1 +
51 src/login/pam_systemd.c | 1 + 53 src/login/pam_systemd.c | 1 +
52 src/network/generator/network-generator.c | 1 + 54 src/network/generator/network-generator.c | 1 +
@@ -68,18 +70,22 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
68 src/udev/udev-builtin-path_id.c | 1 + 70 src/udev/udev-builtin-path_id.c | 1 +
69 src/udev/udev-event.c | 1 + 71 src/udev/udev-event.c | 1 +
70 src/udev/udev-rules.c | 1 + 72 src/udev/udev-rules.c | 1 +
71 50 files changed, 61 insertions(+) 73 51 files changed, 62 insertions(+)
72 74
75diff --git a/meson.build b/meson.build
76index 2abb7b3188..c97f09062b 100644
73--- a/meson.build 77--- a/meson.build
74+++ b/meson.build 78+++ b/meson.build
75@@ -535,6 +535,7 @@ foreach ident : [ 79@@ -550,6 +550,7 @@ foreach ident : [
76 #include <sys/wait.h>'''], 80 ['execveat', '''#include <unistd.h>'''],
77 ['mallinfo', '''#include <malloc.h>'''],
78 ['close_range', '''#include <unistd.h>'''], 81 ['close_range', '''#include <unistd.h>'''],
82 ['epoll_pwait2', '''#include <sys/epoll.h>'''],
79+ ['strndupa' , '''#include <string.h>'''], 83+ ['strndupa' , '''#include <string.h>'''],
80 ] 84 ]
81 85
82 have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE') 86 have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
87diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
88index 86927be62e..a34be158a0 100644
83--- a/src/backlight/backlight.c 89--- a/src/backlight/backlight.c
84+++ b/src/backlight/backlight.c 90+++ b/src/backlight/backlight.c
85@@ -19,6 +19,7 @@ 91@@ -19,6 +19,7 @@
@@ -90,6 +96,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
90 96
91 static int help(void) { 97 static int help(void) {
92 _cleanup_free_ char *link = NULL; 98 _cleanup_free_ char *link = NULL;
99diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
100index 8dd3f8cd95..50c1ae1b2b 100644
93--- a/src/basic/cgroup-util.c 101--- a/src/basic/cgroup-util.c
94+++ b/src/basic/cgroup-util.c 102+++ b/src/basic/cgroup-util.c
95@@ -38,6 +38,7 @@ 103@@ -38,6 +38,7 @@
@@ -100,9 +108,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
100 108
101 static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) { 109 static int cg_enumerate_items(const char *controller, const char *path, FILE **_f, const char *item) {
102 _cleanup_free_ char *fs = NULL; 110 _cleanup_free_ char *fs = NULL;
111diff --git a/src/basic/env-util.c b/src/basic/env-util.c
112index c110a750a5..e1f091b01e 100644
103--- a/src/basic/env-util.c 113--- a/src/basic/env-util.c
104+++ b/src/basic/env-util.c 114+++ b/src/basic/env-util.c
105@@ -15,6 +15,7 @@ 115@@ -18,6 +18,7 @@
106 #include "string-util.h" 116 #include "string-util.h"
107 #include "strv.h" 117 #include "strv.h"
108 #include "utf8.h" 118 #include "utf8.h"
@@ -110,6 +120,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
110 120
111 /* We follow bash for the character set. Different shells have different rules. */ 121 /* We follow bash for the character set. Different shells have different rules. */
112 #define VALID_BASH_ENV_NAME_CHARS \ 122 #define VALID_BASH_ENV_NAME_CHARS \
123diff --git a/src/basic/log.c b/src/basic/log.c
124index 595db0c395..daff8eb68a 100644
113--- a/src/basic/log.c 125--- a/src/basic/log.c
114+++ b/src/basic/log.c 126+++ b/src/basic/log.c
115@@ -36,6 +36,7 @@ 127@@ -36,6 +36,7 @@
@@ -120,6 +132,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
120 132
121 #define SNDBUF_SIZE (8*1024*1024) 133 #define SNDBUF_SIZE (8*1024*1024)
122 134
135diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
136index 8c76f93eb2..9068bfb4f0 100644
123--- a/src/basic/missing_stdlib.h 137--- a/src/basic/missing_stdlib.h
124+++ b/src/basic/missing_stdlib.h 138+++ b/src/basic/missing_stdlib.h
125@@ -11,3 +11,15 @@ 139@@ -11,3 +11,15 @@
@@ -138,6 +152,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
138+ (char *)memcpy(__new, __old, __len); \ 152+ (char *)memcpy(__new, __old, __len); \
139+ }) 153+ })
140+#endif 154+#endif
155diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
156index f91f8f7a08..fb31596216 100644
141--- a/src/basic/mkdir.c 157--- a/src/basic/mkdir.c
142+++ b/src/basic/mkdir.c 158+++ b/src/basic/mkdir.c
143@@ -14,6 +14,7 @@ 159@@ -14,6 +14,7 @@
@@ -148,9 +164,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
148 164
149 int mkdir_safe_internal( 165 int mkdir_safe_internal(
150 const char *path, 166 const char *path,
167diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
168index 1d617e87b2..346f9a47d7 100644
169--- a/src/basic/mountpoint-util.c
170+++ b/src/basic/mountpoint-util.c
171@@ -12,6 +12,7 @@
172 #include "missing_stat.h"
173 #include "missing_syscall.h"
174 #include "mkdir.h"
175+#include "missing_stdlib.h"
176 #include "mountpoint-util.h"
177 #include "parse-util.h"
178 #include "path-util.h"
179diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
180index b79c885dfd..6dabda5691 100644
151--- a/src/basic/parse-util.c 181--- a/src/basic/parse-util.c
152+++ b/src/basic/parse-util.c 182+++ b/src/basic/parse-util.c
153@@ -22,6 +22,7 @@ 183@@ -19,6 +19,7 @@
154 #include "stat-util.h" 184 #include "stat-util.h"
155 #include "string-util.h" 185 #include "string-util.h"
156 #include "strv.h" 186 #include "strv.h"
@@ -158,6 +188,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
158 188
159 int parse_boolean(const char *v) { 189 int parse_boolean(const char *v) {
160 if (!v) 190 if (!v)
191diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
192index e53c2302b1..ca1d40ccbe 100644
161--- a/src/basic/path-lookup.c 193--- a/src/basic/path-lookup.c
162+++ b/src/basic/path-lookup.c 194+++ b/src/basic/path-lookup.c
163@@ -15,6 +15,7 @@ 195@@ -15,6 +15,7 @@
@@ -168,6 +200,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
168 200
169 int xdg_user_runtime_dir(char **ret, const char *suffix) { 201 int xdg_user_runtime_dir(char **ret, const char *suffix) {
170 const char *e; 202 const char *e;
203diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
204index 410b8a3eb5..f2c4355609 100644
171--- a/src/basic/proc-cmdline.c 205--- a/src/basic/proc-cmdline.c
172+++ b/src/basic/proc-cmdline.c 206+++ b/src/basic/proc-cmdline.c
173@@ -15,6 +15,7 @@ 207@@ -15,6 +15,7 @@
@@ -178,6 +212,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
178 212
179 int proc_cmdline(char **ret) { 213 int proc_cmdline(char **ret) {
180 const char *e; 214 const char *e;
215diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
216index ccab71f7d2..8f9eee8d36 100644
181--- a/src/basic/procfs-util.c 217--- a/src/basic/procfs-util.c
182+++ b/src/basic/procfs-util.c 218+++ b/src/basic/procfs-util.c
183@@ -11,6 +11,7 @@ 219@@ -11,6 +11,7 @@
@@ -188,6 +224,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
188 224
189 int procfs_tasks_get_limit(uint64_t *ret) { 225 int procfs_tasks_get_limit(uint64_t *ret) {
190 _cleanup_free_ char *value = NULL; 226 _cleanup_free_ char *value = NULL;
227diff --git a/src/basic/selinux-util.c b/src/basic/selinux-util.c
228index ee9e34ed47..96c1e9362d 100644
191--- a/src/basic/selinux-util.c 229--- a/src/basic/selinux-util.c
192+++ b/src/basic/selinux-util.c 230+++ b/src/basic/selinux-util.c
193@@ -27,6 +27,7 @@ 231@@ -27,6 +27,7 @@
@@ -197,7 +235,9 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
197+#include "missing_stdlib.h" 235+#include "missing_stdlib.h"
198 236
199 #if HAVE_SELINUX 237 #if HAVE_SELINUX
200 DEFINE_TRIVIAL_CLEANUP_FUNC(context_t, context_free); 238 DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(context_t, context_free, NULL);
239diff --git a/src/basic/time-util.c b/src/basic/time-util.c
240index 78d0390a00..47c38ca691 100644
201--- a/src/basic/time-util.c 241--- a/src/basic/time-util.c
202+++ b/src/basic/time-util.c 242+++ b/src/basic/time-util.c
203@@ -27,6 +27,7 @@ 243@@ -27,6 +27,7 @@
@@ -208,6 +248,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
208 248
209 static clockid_t map_clock_id(clockid_t c) { 249 static clockid_t map_clock_id(clockid_t c) {
210 250
251diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
252index 97ad1e0cb5..9d60f3cc79 100644
211--- a/src/boot/bless-boot.c 253--- a/src/boot/bless-boot.c
212+++ b/src/boot/bless-boot.c 254+++ b/src/boot/bless-boot.c
213@@ -18,6 +18,7 @@ 255@@ -18,6 +18,7 @@
@@ -218,16 +260,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
218 260
219 static char **arg_path = NULL; 261 static char **arg_path = NULL;
220 262
263diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
264index 04d2ba34f3..651ca9412e 100644
221--- a/src/core/dbus-cgroup.c 265--- a/src/core/dbus-cgroup.c
222+++ b/src/core/dbus-cgroup.c 266+++ b/src/core/dbus-cgroup.c
223@@ -16,6 +16,7 @@ 267@@ -17,6 +17,7 @@
224 #include "fileio.h"
225 #include "limits-util.h" 268 #include "limits-util.h"
226 #include "path-util.h" 269 #include "path-util.h"
270 #include "percent-util.h"
227+#include "missing_stdlib.h" 271+#include "missing_stdlib.h"
228 272
229 BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve); 273 BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", TasksMax, tasks_max_resolve);
230 274
275diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
276index 5239c41d67..0f604efe98 100644
231--- a/src/core/dbus-execute.c 277--- a/src/core/dbus-execute.c
232+++ b/src/core/dbus-execute.c 278+++ b/src/core/dbus-execute.c
233@@ -41,6 +41,7 @@ 279@@ -41,6 +41,7 @@
@@ -238,9 +284,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
238 284
239 BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); 285 BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
240 static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); 286 static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
287diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
288index 44a2ccfca0..3926ccfa4a 100644
241--- a/src/core/dbus-util.c 289--- a/src/core/dbus-util.c
242+++ b/src/core/dbus-util.c 290+++ b/src/core/dbus-util.c
243@@ -7,6 +7,7 @@ 291@@ -9,6 +9,7 @@
244 #include "unit-printf.h" 292 #include "unit-printf.h"
245 #include "user-util.h" 293 #include "user-util.h"
246 #include "unit.h" 294 #include "unit.h"
@@ -248,16 +296,20 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
248 296
249 int bus_property_get_triggered_unit( 297 int bus_property_get_triggered_unit(
250 sd_bus *bus, 298 sd_bus *bus,
299diff --git a/src/core/execute.c b/src/core/execute.c
300index 922913e7af..f82fc294c0 100644
251--- a/src/core/execute.c 301--- a/src/core/execute.c
252+++ b/src/core/execute.c 302+++ b/src/core/execute.c
253@@ -96,6 +96,7 @@ 303@@ -96,6 +96,7 @@
254 #include "unit.h" 304 #include "unit-serialize.h"
255 #include "user-util.h" 305 #include "user-util.h"
256 #include "utmp-wtmp.h" 306 #include "utmp-wtmp.h"
257+#include "missing_stdlib.h" 307+#include "missing_stdlib.h"
258 308
259 #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC) 309 #define IDLE_TIMEOUT_USEC (5*USEC_PER_SEC)
260 #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC) 310 #define IDLE_TIMEOUT2_USEC (1*USEC_PER_SEC)
311diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
312index a56f12f47f..6b8729ef67 100644
261--- a/src/core/kmod-setup.c 313--- a/src/core/kmod-setup.c
262+++ b/src/core/kmod-setup.c 314+++ b/src/core/kmod-setup.c
263@@ -11,6 +11,7 @@ 315@@ -11,6 +11,7 @@
@@ -268,6 +320,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
268 320
269 #if HAVE_KMOD 321 #if HAVE_KMOD
270 #include "module-util.h" 322 #include "module-util.h"
323diff --git a/src/core/service.c b/src/core/service.c
324index 4c5bfb17fb..8c05f36119 100644
271--- a/src/core/service.c 325--- a/src/core/service.c
272+++ b/src/core/service.c 326+++ b/src/core/service.c
273@@ -41,6 +41,7 @@ 327@@ -41,6 +41,7 @@
@@ -278,6 +332,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
278 332
279 static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = { 333 static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
280 [SERVICE_DEAD] = UNIT_INACTIVE, 334 [SERVICE_DEAD] = UNIT_INACTIVE,
335diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
336index 95c3fca661..d4a9f27b08 100644
281--- a/src/coredump/coredump-vacuum.c 337--- a/src/coredump/coredump-vacuum.c
282+++ b/src/coredump/coredump-vacuum.c 338+++ b/src/coredump/coredump-vacuum.c
283@@ -16,6 +16,7 @@ 339@@ -16,6 +16,7 @@
@@ -288,9 +344,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
288 344
289 #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */ 345 #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
290 #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */ 346 #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
347diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
348index ae1d43756a..24de98c9f3 100644
291--- a/src/journal-remote/journal-remote-main.c 349--- a/src/journal-remote/journal-remote-main.c
292+++ b/src/journal-remote/journal-remote-main.c 350+++ b/src/journal-remote/journal-remote-main.c
293@@ -22,6 +22,7 @@ 351@@ -24,6 +24,7 @@
294 #include "stat-util.h" 352 #include "stat-util.h"
295 #include "string-table.h" 353 #include "string-table.h"
296 #include "strv.h" 354 #include "strv.h"
@@ -298,9 +356,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
298 356
299 #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" 357 #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
300 #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" 358 #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
359diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
360index 76d05c1eee..0beb77b2e5 100644
301--- a/src/journal/journalctl.c 361--- a/src/journal/journalctl.c
302+++ b/src/journal/journalctl.c 362+++ b/src/journal/journalctl.c
303@@ -73,6 +73,7 @@ 363@@ -72,6 +72,7 @@
304 #include "unit-name.h" 364 #include "unit-name.h"
305 #include "user-util.h" 365 #include "user-util.h"
306 #include "varlink.h" 366 #include "varlink.h"
@@ -308,19 +368,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
308 368
309 #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) 369 #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
310 #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ 370 #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
311--- a/src/journal/sd-journal.c 371diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
312+++ b/src/journal/sd-journal.c 372index b25064b672..b3bbe63a91 100644
313@@ -40,6 +40,7 @@
314 #include "string-util.h"
315 #include "strv.h"
316 #include "syslog-util.h"
317+#include "missing_stdlib.h"
318
319 #define JOURNAL_FILES_MAX 7168
320
321--- a/src/libsystemd/sd-bus/bus-message.c 373--- a/src/libsystemd/sd-bus/bus-message.c
322+++ b/src/libsystemd/sd-bus/bus-message.c 374+++ b/src/libsystemd/sd-bus/bus-message.c
323@@ -21,6 +21,7 @@ 375@@ -20,6 +20,7 @@
324 #include "strv.h" 376 #include "strv.h"
325 #include "time-util.h" 377 #include "time-util.h"
326 #include "utf8.h" 378 #include "utf8.h"
@@ -328,9 +380,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
328 380
329 static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored); 381 static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
330 382
383diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
384index bfd42aea7d..daefc56e3e 100644
331--- a/src/libsystemd/sd-bus/bus-objects.c 385--- a/src/libsystemd/sd-bus/bus-objects.c
332+++ b/src/libsystemd/sd-bus/bus-objects.c 386+++ b/src/libsystemd/sd-bus/bus-objects.c
333@@ -13,6 +13,7 @@ 387@@ -12,6 +12,7 @@
334 #include "set.h" 388 #include "set.h"
335 #include "string-util.h" 389 #include "string-util.h"
336 #include "strv.h" 390 #include "strv.h"
@@ -338,6 +392,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
338 392
339 static int node_vtable_get_userdata( 393 static int node_vtable_get_userdata(
340 sd_bus *bus, 394 sd_bus *bus,
395diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
396index 832526cc1b..7bff701806 100644
341--- a/src/libsystemd/sd-bus/bus-socket.c 397--- a/src/libsystemd/sd-bus/bus-socket.c
342+++ b/src/libsystemd/sd-bus/bus-socket.c 398+++ b/src/libsystemd/sd-bus/bus-socket.c
343@@ -28,6 +28,7 @@ 399@@ -28,6 +28,7 @@
@@ -348,29 +404,47 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
348 404
349 #define SNDBUF_SIZE (8*1024*1024) 405 #define SNDBUF_SIZE (8*1024*1024)
350 406
407diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
408index e719c74370..ac2a605680 100644
351--- a/src/libsystemd/sd-bus/sd-bus.c 409--- a/src/libsystemd/sd-bus/sd-bus.c
352+++ b/src/libsystemd/sd-bus/sd-bus.c 410+++ b/src/libsystemd/sd-bus/sd-bus.c
353@@ -41,6 +41,7 @@ 411@@ -41,6 +41,7 @@
354 #include "process-util.h"
355 #include "string-util.h" 412 #include "string-util.h"
356 #include "strv.h" 413 #include "strv.h"
414 #include "user-util.h"
357+#include "missing_stdlib.h" 415+#include "missing_stdlib.h"
358 416
359 #define log_debug_bus_message(m) \ 417 #define log_debug_bus_message(m) \
360 do { \ 418 do { \
419diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
420index 13c08fe295..9aae83486e 100644
361--- a/src/libsystemd/sd-bus/test-bus-benchmark.c 421--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
362+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c 422+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
363@@ -14,6 +14,7 @@ 423@@ -14,6 +14,7 @@
364 #include "missing_resource.h" 424 #include "string-util.h"
365 #include "time-util.h" 425 #include "time-util.h"
366 #include "util.h" 426 #include "util.h"
367+#include "missing_stdlib.h" 427+#include "missing_stdlib.h"
368 428
369 #define MAX_SIZE (2*1024*1024) 429 #define MAX_SIZE (2*1024*1024)
370 430
431diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
432index c90b4c926e..0efdccff5d 100644
433--- a/src/libsystemd/sd-journal/sd-journal.c
434+++ b/src/libsystemd/sd-journal/sd-journal.c
435@@ -40,6 +40,7 @@
436 #include "string-util.h"
437 #include "strv.h"
438 #include "syslog-util.h"
439+#include "missing_stdlib.h"
440
441 #define JOURNAL_FILES_MAX 7168
442
443diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
444index d2f0566dbc..3b7746557e 100644
371--- a/src/locale/keymap-util.c 445--- a/src/locale/keymap-util.c
372+++ b/src/locale/keymap-util.c 446+++ b/src/locale/keymap-util.c
373@@ -21,6 +21,7 @@ 447@@ -24,6 +24,7 @@
374 #include "string-util.h" 448 #include "string-util.h"
375 #include "strv.h" 449 #include "strv.h"
376 #include "tmpfile-util.h" 450 #include "tmpfile-util.h"
@@ -378,6 +452,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
378 452
379 static bool startswith_comma(const char *s, const char *prefix) { 453 static bool startswith_comma(const char *s, const char *prefix) {
380 s = startswith(s, prefix); 454 s = startswith(s, prefix);
455diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
456index 2021c31bd5..58eb09808d 100644
381--- a/src/login/pam_systemd.c 457--- a/src/login/pam_systemd.c
382+++ b/src/login/pam_systemd.c 458+++ b/src/login/pam_systemd.c
383@@ -31,6 +31,7 @@ 459@@ -31,6 +31,7 @@
@@ -388,6 +464,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
388 #include "pam-util.h" 464 #include "pam-util.h"
389 #include "parse-util.h" 465 #include "parse-util.h"
390 #include "path-util.h" 466 #include "path-util.h"
467diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
468index ae673ddf5b..a79e5114ca 100644
391--- a/src/network/generator/network-generator.c 469--- a/src/network/generator/network-generator.c
392+++ b/src/network/generator/network-generator.c 470+++ b/src/network/generator/network-generator.c
393@@ -13,6 +13,7 @@ 471@@ -13,6 +13,7 @@
@@ -398,6 +476,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
398 476
399 /* 477 /*
400 # .network 478 # .network
479diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
480index d4619bead5..0e832fd994 100644
401--- a/src/nspawn/nspawn-settings.c 481--- a/src/nspawn/nspawn-settings.c
402+++ b/src/nspawn/nspawn-settings.c 482+++ b/src/nspawn/nspawn-settings.c
403@@ -16,6 +16,7 @@ 483@@ -16,6 +16,7 @@
@@ -408,19 +488,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
408 488
409 Settings *settings_new(void) { 489 Settings *settings_new(void) {
410 Settings *s; 490 Settings *s;
491diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
492index 44715bb3e5..bc1e688b5e 100644
411--- a/src/nss-mymachines/nss-mymachines.c 493--- a/src/nss-mymachines/nss-mymachines.c
412+++ b/src/nss-mymachines/nss-mymachines.c 494+++ b/src/nss-mymachines/nss-mymachines.c
413@@ -19,6 +19,7 @@ 495@@ -21,6 +21,7 @@
414 #include "nss-util.h" 496 #include "nss-util.h"
415 #include "signal-util.h" 497 #include "signal-util.h"
416 #include "string-util.h" 498 #include "string-util.h"
417+#include "missing_stdlib.h" 499+#include "missing_stdlib.h"
418 500
419 NSS_GETHOSTBYNAME_PROTOTYPES(mymachines); 501 static void setup_logging(void) {
420 NSS_GETPW_PROTOTYPES(mymachines); 502 /* We need a dummy function because log_parse_environment is a macro. */
503diff --git a/src/portable/portable.c b/src/portable/portable.c
504index f201f52531..c78ad0f471 100644
421--- a/src/portable/portable.c 505--- a/src/portable/portable.c
422+++ b/src/portable/portable.c 506+++ b/src/portable/portable.c
423@@ -31,6 +31,7 @@ 507@@ -32,6 +32,7 @@
424 #include "strv.h" 508 #include "strv.h"
425 #include "tmpfile-util.h" 509 #include "tmpfile-util.h"
426 #include "user-util.h" 510 #include "user-util.h"
@@ -428,9 +512,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
428 512
429 static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/portable/profile"); 513 static const char profile_dirs[] = CONF_PATHS_NULSTR("systemd/portable/profile");
430 514
515diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
516index 52bbae3293..4ccbae09c4 100644
431--- a/src/resolve/resolvectl.c 517--- a/src/resolve/resolvectl.c
432+++ b/src/resolve/resolvectl.c 518+++ b/src/resolve/resolvectl.c
433@@ -37,6 +37,7 @@ 519@@ -41,6 +41,7 @@
434 #include "terminal-util.h" 520 #include "terminal-util.h"
435 #include "utf8.h" 521 #include "utf8.h"
436 #include "verbs.h" 522 #include "verbs.h"
@@ -438,6 +524,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
438 524
439 static int arg_family = AF_UNSPEC; 525 static int arg_family = AF_UNSPEC;
440 static int arg_ifindex = 0; 526 static int arg_ifindex = 0;
527diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
528index feb6d3807f..eb11d29e50 100644
441--- a/src/shared/bus-get-properties.c 529--- a/src/shared/bus-get-properties.c
442+++ b/src/shared/bus-get-properties.c 530+++ b/src/shared/bus-get-properties.c
443@@ -4,6 +4,7 @@ 531@@ -4,6 +4,7 @@
@@ -448,6 +536,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
448 536
449 int bus_property_get_bool( 537 int bus_property_get_bool(
450 sd_bus *bus, 538 sd_bus *bus,
539diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
540index b76125e551..2e0892242f 100644
451--- a/src/shared/bus-unit-procs.c 541--- a/src/shared/bus-unit-procs.c
452+++ b/src/shared/bus-unit-procs.c 542+++ b/src/shared/bus-unit-procs.c
453@@ -10,6 +10,7 @@ 543@@ -10,6 +10,7 @@
@@ -458,9 +548,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
458 548
459 struct CGroupInfo { 549 struct CGroupInfo {
460 char *cgroup_path; 550 char *cgroup_path;
551diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
552index a75178068b..3de06e2bd5 100644
461--- a/src/shared/bus-unit-util.c 553--- a/src/shared/bus-unit-util.c
462+++ b/src/shared/bus-unit-util.c 554+++ b/src/shared/bus-unit-util.c
463@@ -44,6 +44,7 @@ 555@@ -45,6 +45,7 @@
464 #include "unit-def.h" 556 #include "unit-def.h"
465 #include "user-util.h" 557 #include "user-util.h"
466 #include "utf8.h" 558 #include "utf8.h"
@@ -468,6 +560,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
468 560
469 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) { 561 int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
470 assert(message); 562 assert(message);
563diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
564index 64ca67993c..31e3d148ea 100644
471--- a/src/shared/bus-util.c 565--- a/src/shared/bus-util.c
472+++ b/src/shared/bus-util.c 566+++ b/src/shared/bus-util.c
473@@ -21,6 +21,7 @@ 567@@ -21,6 +21,7 @@
@@ -478,6 +572,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
478 572
479 static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) { 573 static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
480 sd_event *e = userdata; 574 sd_event *e = userdata;
575diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
576index e43aa12882..cec9b413c1 100644
481--- a/src/shared/dns-domain.c 577--- a/src/shared/dns-domain.c
482+++ b/src/shared/dns-domain.c 578+++ b/src/shared/dns-domain.c
483@@ -17,6 +17,7 @@ 579@@ -17,6 +17,7 @@
@@ -488,6 +584,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
488 584
489 int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) { 585 int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
490 const char *n; 586 const char *n;
587diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
588index b2785f0552..5f00902882 100644
491--- a/src/shared/journal-importer.c 589--- a/src/shared/journal-importer.c
492+++ b/src/shared/journal-importer.c 590+++ b/src/shared/journal-importer.c
493@@ -14,6 +14,7 @@ 591@@ -14,6 +14,7 @@
@@ -498,6 +596,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
498 596
499 enum { 597 enum {
500 IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ 598 IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
599diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
600index e63c59bd94..dd9773c009 100644
501--- a/src/shared/logs-show.c 601--- a/src/shared/logs-show.c
502+++ b/src/shared/logs-show.c 602+++ b/src/shared/logs-show.c
503@@ -41,6 +41,7 @@ 603@@ -41,6 +41,7 @@
@@ -508,6 +608,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
508 608
509 /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */ 609 /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
510 #define PRINT_LINE_THRESHOLD 3 610 #define PRINT_LINE_THRESHOLD 3
611diff --git a/src/shared/pager.c b/src/shared/pager.c
612index 4bbad7e37b..eefcdd068c 100644
511--- a/src/shared/pager.c 613--- a/src/shared/pager.c
512+++ b/src/shared/pager.c 614+++ b/src/shared/pager.c
513@@ -26,6 +26,7 @@ 615@@ -26,6 +26,7 @@
@@ -518,6 +620,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
518 620
519 static pid_t pager_pid = 0; 621 static pid_t pager_pid = 0;
520 622
623diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
624index 5d5bf7f21d..f1002ffa6c 100644
521--- a/src/shared/uid-range.c 625--- a/src/shared/uid-range.c
522+++ b/src/shared/uid-range.c 626+++ b/src/shared/uid-range.c
523@@ -9,6 +9,7 @@ 627@@ -9,6 +9,7 @@
@@ -528,6 +632,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
528 632
529 static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) { 633 static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
530 assert(range); 634 assert(range);
635diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
636index 6e3ee0d76b..7727e33d95 100644
531--- a/src/socket-proxy/socket-proxyd.c 637--- a/src/socket-proxy/socket-proxyd.c
532+++ b/src/socket-proxy/socket-proxyd.c 638+++ b/src/socket-proxy/socket-proxyd.c
533@@ -26,6 +26,7 @@ 639@@ -26,6 +26,7 @@
@@ -538,6 +644,8 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
538 644
539 #define BUFFER_SIZE (256 * 1024) 645 #define BUFFER_SIZE (256 * 1024)
540 646
647diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
648index c9d318b8d1..fcb8d40805 100644
541--- a/src/test/test-hexdecoct.c 649--- a/src/test/test-hexdecoct.c
542+++ b/src/test/test-hexdecoct.c 650+++ b/src/test/test-hexdecoct.c
543@@ -6,6 +6,7 @@ 651@@ -6,6 +6,7 @@
@@ -548,19 +656,23 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
548 656
549 static void test_hexchar(void) { 657 static void test_hexchar(void) {
550 assert_se(hexchar(0xa) == 'a'); 658 assert_se(hexchar(0xa) == 'a');
659diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
660index 09cc1c3bd8..8a7d3152a7 100644
551--- a/src/udev/udev-builtin-path_id.c 661--- a/src/udev/udev-builtin-path_id.c
552+++ b/src/udev/udev-builtin-path_id.c 662+++ b/src/udev/udev-builtin-path_id.c
553@@ -22,6 +22,7 @@ 663@@ -22,6 +22,7 @@
554 #include "strv.h"
555 #include "sysexits.h" 664 #include "sysexits.h"
556 #include "udev-builtin.h" 665 #include "udev-builtin.h"
666 #include "udev-util.h"
557+#include "missing_stdlib.h" 667+#include "missing_stdlib.h"
558 668
559 _printf_(2,3) 669 _printf_(2,3)
560 static void path_prepend(char **path, const char *fmt, ...) { 670 static void path_prepend(char **path, const char *fmt, ...) {
671diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
672index 12597194a9..208b2458b5 100644
561--- a/src/udev/udev-event.c 673--- a/src/udev/udev-event.c
562+++ b/src/udev/udev-event.c 674+++ b/src/udev/udev-event.c
563@@ -34,6 +34,7 @@ 675@@ -33,6 +33,7 @@
564 #include "udev-util.h" 676 #include "udev-util.h"
565 #include "udev-watch.h" 677 #include "udev-watch.h"
566 #include "user-util.h" 678 #include "user-util.h"
@@ -568,9 +680,11 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
568 680
569 typedef struct Spawn { 681 typedef struct Spawn {
570 sd_device *device; 682 sd_device *device;
683diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
684index 57ede6a197..dc59857765 100644
571--- a/src/udev/udev-rules.c 685--- a/src/udev/udev-rules.c
572+++ b/src/udev/udev-rules.c 686+++ b/src/udev/udev-rules.c
573@@ -30,6 +30,7 @@ 687@@ -31,6 +31,7 @@
574 #include "udev-rules.h" 688 #include "udev-rules.h"
575 #include "user-util.h" 689 #include "user-util.h"
576 #include "virt.h" 690 #include "virt.h"
@@ -578,13 +692,3 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
578 692
579 #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d") 693 #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
580 694
581--- a/src/basic/mountpoint-util.c
582+++ b/src/basic/mountpoint-util.c
583@@ -10,6 +10,7 @@
584 #include "fs-util.h"
585 #include "missing_stat.h"
586 #include "missing_syscall.h"
587+#include "missing_stdlib.h"
588 #include "mountpoint-util.h"
589 #include "parse-util.h"
590 #include "path-util.h"
diff --git a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
index a978558b42..54d714266e 100644
--- a/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
+++ b/meta/recipes-core/systemd/systemd/0006-Include-netinet-if_ether.h.patch
@@ -1,7 +1,7 @@
1From d3ed0da271738fd0fc3d3e4d82d6f5810334b05e Mon Sep 17 00:00:00 2001 1From 2069f0b0d5ab8f869aeba635a347e0b11d362b30 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 26 Oct 2017 22:10:42 -0700 3Date: Thu, 26 Oct 2017 22:10:42 -0700
4Subject: [PATCH 06/26] Include netinet/if_ether.h 4Subject: [PATCH] Include netinet/if_ether.h
5 5
6Fixes 6Fixes
7/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr' 7/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
@@ -31,6 +31,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
31Signed-off-by: Scott Murray <scott.murray@konsulko.com> 31Signed-off-by: Scott Murray <scott.murray@konsulko.com>
32[rebased for systemd 247] 32[rebased for systemd 247]
33Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 33Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
34
34--- 35---
35 src/libsystemd-network/sd-dhcp6-client.c | 1 - 36 src/libsystemd-network/sd-dhcp6-client.c | 1 -
36 src/libsystemd/sd-netlink/netlink-types.c | 1 + 37 src/libsystemd/sd-netlink/netlink-types.c | 1 +
@@ -56,7 +57,7 @@ Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
56 21 files changed, 26 insertions(+), 8 deletions(-) 57 21 files changed, 26 insertions(+), 8 deletions(-)
57 58
58diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c 59diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
59index 66f87c4b95..de1264ae46 100644 60index 410bfda10e..e70ed8be92 100644
60--- a/src/libsystemd-network/sd-dhcp6-client.c 61--- a/src/libsystemd-network/sd-dhcp6-client.c
61+++ b/src/libsystemd-network/sd-dhcp6-client.c 62+++ b/src/libsystemd-network/sd-dhcp6-client.c
62@@ -5,7 +5,6 @@ 63@@ -5,7 +5,6 @@
@@ -68,7 +69,7 @@ index 66f87c4b95..de1264ae46 100644
68 69
69 #include "sd-dhcp6-client.h" 70 #include "sd-dhcp6-client.h"
70diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c 71diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
71index 6fb6c147d9..8eda02d202 100644 72index ed7b9a8cd1..112c0b09e4 100644
72--- a/src/libsystemd/sd-netlink/netlink-types.c 73--- a/src/libsystemd/sd-netlink/netlink-types.c
73+++ b/src/libsystemd/sd-netlink/netlink-types.c 74+++ b/src/libsystemd/sd-netlink/netlink-types.c
74@@ -3,6 +3,7 @@ 75@@ -3,6 +3,7 @@
@@ -80,7 +81,7 @@ index 6fb6c147d9..8eda02d202 100644
80 #include <linux/netlink.h> 81 #include <linux/netlink.h>
81 #include <linux/rtnetlink.h> 82 #include <linux/rtnetlink.h>
82diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c 83diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
83index bb67beb665..f5780f1aec 100644 84index e7c4ed3c7c..3a1e4f9072 100644
84--- a/src/machine/machine-dbus.c 85--- a/src/machine/machine-dbus.c
85+++ b/src/machine/machine-dbus.c 86+++ b/src/machine/machine-dbus.c
86@@ -3,6 +3,7 @@ 87@@ -3,6 +3,7 @@
@@ -92,7 +93,7 @@ index bb67beb665..f5780f1aec 100644
92 /* When we include libgen.h because we need dirname() we immediately 93 /* When we include libgen.h because we need dirname() we immediately
93 * undefine basename() since libgen.h defines it as a macro to the POSIX 94 * undefine basename() since libgen.h defines it as a macro to the POSIX
94diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c 95diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
95index e27f36067b..8868f1da5d 100644 96index cf7ca88d6f..34ab468191 100644
96--- a/src/network/netdev/bond.c 97--- a/src/network/netdev/bond.c
97+++ b/src/network/netdev/bond.c 98+++ b/src/network/netdev/bond.c
98@@ -1,5 +1,6 @@ 99@@ -1,5 +1,6 @@
@@ -103,7 +104,7 @@ index e27f36067b..8868f1da5d 100644
103 #include "bond.h" 104 #include "bond.h"
104 #include "bond-util.h" 105 #include "bond-util.h"
105diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c 106diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
106index 1f59cd8b42..5fdbae7e99 100644 107index 38432f1578..79ccfe578e 100644
107--- a/src/network/netdev/bridge.c 108--- a/src/network/netdev/bridge.c
108+++ b/src/network/netdev/bridge.c 109+++ b/src/network/netdev/bridge.c
109@@ -1,5 +1,6 @@ 110@@ -1,5 +1,6 @@
@@ -114,7 +115,7 @@ index 1f59cd8b42..5fdbae7e99 100644
114 115
115 #include "bridge.h" 116 #include "bridge.h"
116diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c 117diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
117index 82e71c3920..fbae86e216 100644 118index 77c5f8c4e7..04be1b4ab2 100644
118--- a/src/network/netdev/macsec.c 119--- a/src/network/netdev/macsec.c
119+++ b/src/network/netdev/macsec.c 120+++ b/src/network/netdev/macsec.c
120@@ -1,5 +1,6 @@ 121@@ -1,5 +1,6 @@
@@ -125,19 +126,19 @@ index 82e71c3920..fbae86e216 100644
125 #include <linux/if_ether.h> 126 #include <linux/if_ether.h>
126 #include <linux/if_macsec.h> 127 #include <linux/if_macsec.h>
127diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf 128diff --git a/src/network/netdev/netdev-gperf.gperf b/src/network/netdev/netdev-gperf.gperf
128index 4e89761f2c..91251fa6ec 100644 129index 8abe044890..3c54c58928 100644
129--- a/src/network/netdev/netdev-gperf.gperf 130--- a/src/network/netdev/netdev-gperf.gperf
130+++ b/src/network/netdev/netdev-gperf.gperf 131+++ b/src/network/netdev/netdev-gperf.gperf
131@@ -2,6 +2,7 @@ 132@@ -3,6 +3,7 @@
132 #if __GNUC__ >= 7 133 #if __GNUC__ >= 7
133 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") 134 _Pragma("GCC diagnostic ignored \"-Wimplicit-fallthrough\"")
134 #endif 135 #endif
135+#include <netinet/if_ether.h> 136+#include <netinet/if_ether.h>
136 #include <stddef.h> 137 #include <stddef.h>
137 #include "bareudp.h" 138 #include "bareudp.h"
138 #include "bond.h" 139 #include "batadv.h"
139diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c 140diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
140index 9f390b5781..62aeafb1e4 100644 141index b31f0fa81a..c80e1ff537 100644
141--- a/src/network/netdev/netdev.c 142--- a/src/network/netdev/netdev.c
142+++ b/src/network/netdev/netdev.c 143+++ b/src/network/netdev/netdev.c
143@@ -1,5 +1,6 @@ 144@@ -1,5 +1,6 @@
@@ -148,7 +149,7 @@ index 9f390b5781..62aeafb1e4 100644
148 #include <netinet/in.h> 149 #include <netinet/in.h>
149 #include <unistd.h> 150 #include <unistd.h>
150diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c 151diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
151index e53c73c30c..9bf0771b84 100644 152index 2847b336c9..4d6af8c642 100644
152--- a/src/network/networkd-brvlan.c 153--- a/src/network/networkd-brvlan.c
153+++ b/src/network/networkd-brvlan.c 154+++ b/src/network/networkd-brvlan.c
154@@ -4,6 +4,7 @@ 155@@ -4,6 +4,7 @@
@@ -160,7 +161,7 @@ index e53c73c30c..9bf0771b84 100644
160 #include <stdbool.h> 161 #include <stdbool.h>
161 162
162diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c 163diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
163index 9f58121350..554d006cb8 100644 164index 00d055cf8d..65821c1d31 100644
164--- a/src/network/networkd-dhcp-common.c 165--- a/src/network/networkd-dhcp-common.c
165+++ b/src/network/networkd-dhcp-common.c 166+++ b/src/network/networkd-dhcp-common.c
166@@ -1,7 +1,8 @@ 167@@ -1,7 +1,8 @@
@@ -171,9 +172,9 @@ index 9f58121350..554d006cb8 100644
171+#include <net/if_arp.h> 172+#include <net/if_arp.h>
172+#include <net/if.h> 173+#include <net/if.h>
173 174
175 #include "bus-error.h"
174 #include "dhcp-internal.h" 176 #include "dhcp-internal.h"
175 #include "dhcp6-internal.h" 177@@ -11,6 +12,7 @@
176@@ -10,6 +11,7 @@
177 #include "networkd-dhcp-common.h" 178 #include "networkd-dhcp-common.h"
178 #include "networkd-link.h" 179 #include "networkd-link.h"
179 #include "networkd-manager.h" 180 #include "networkd-manager.h"
@@ -182,7 +183,7 @@ index 9f58121350..554d006cb8 100644
182 #include "parse-util.h" 183 #include "parse-util.h"
183 #include "socket-util.h" 184 #include "socket-util.h"
184diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c 185diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
185index cf279c640d..bae541029b 100644 186index 5cdf432c27..93cffb9863 100644
186--- a/src/network/networkd-dhcp-server.c 187--- a/src/network/networkd-dhcp-server.c
187+++ b/src/network/networkd-dhcp-server.c 188+++ b/src/network/networkd-dhcp-server.c
188@@ -1,8 +1,8 @@ 189@@ -1,8 +1,8 @@
@@ -197,7 +198,7 @@ index cf279c640d..bae541029b 100644
197 #include "sd-dhcp-server.h" 198 #include "sd-dhcp-server.h"
198 199
199diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c 200diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
200index f3c1e5f609..e4ef6eca63 100644 201index 23dc3a45db..7ae6c2467a 100644
201--- a/src/network/networkd-dhcp4.c 202--- a/src/network/networkd-dhcp4.c
202+++ b/src/network/networkd-dhcp4.c 203+++ b/src/network/networkd-dhcp4.c
203@@ -1,9 +1,9 @@ 204@@ -1,9 +1,9 @@
@@ -212,7 +213,7 @@ index f3c1e5f609..e4ef6eca63 100644
212 #include "escape.h" 213 #include "escape.h"
213 #include "alloc-util.h" 214 #include "alloc-util.h"
214diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c 215diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
215index 5c077c1ec8..fa98042aa5 100644 216index aa077d6219..4f6ce22059 100644
216--- a/src/network/networkd-dhcp6.c 217--- a/src/network/networkd-dhcp6.c
217+++ b/src/network/networkd-dhcp6.c 218+++ b/src/network/networkd-dhcp6.c
218@@ -3,9 +3,9 @@ 219@@ -3,9 +3,9 @@
@@ -227,7 +228,7 @@ index 5c077c1ec8..fa98042aa5 100644
227 #include "sd-dhcp6-client.h" 228 #include "sd-dhcp6-client.h"
228 229
229diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c 230diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
230index 3bfe636691..e0c68c8ad3 100644 231index 8219d95b0d..c92230453b 100644
231--- a/src/network/networkd-link.c 232--- a/src/network/networkd-link.c
232+++ b/src/network/networkd-link.c 233+++ b/src/network/networkd-link.c
233@@ -1,8 +1,8 @@ 234@@ -1,8 +1,8 @@
@@ -241,7 +242,7 @@ index 3bfe636691..e0c68c8ad3 100644
241 #include <unistd.h> 242 #include <unistd.h>
242 243
243diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c 244diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
244index 3254641461..f0ada419fd 100644 245index e5ffd35b6f..871ebb32c6 100644
245--- a/src/network/networkd-network.c 246--- a/src/network/networkd-network.c
246+++ b/src/network/networkd-network.c 247+++ b/src/network/networkd-network.c
247@@ -1,5 +1,6 @@ 248@@ -1,5 +1,6 @@
@@ -252,7 +253,7 @@ index 3254641461..f0ada419fd 100644
252 #include <netinet/in.h> 253 #include <netinet/in.h>
253 #include <linux/netdevice.h> 254 #include <linux/netdevice.h>
254diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c 255diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
255index 0ed89584ef..e7e157c201 100644 256index a74541a6c9..a10549b336 100644
256--- a/src/network/networkd-route.c 257--- a/src/network/networkd-route.c
257+++ b/src/network/networkd-route.c 258+++ b/src/network/networkd-route.c
258@@ -1,7 +1,10 @@ 259@@ -1,7 +1,10 @@
@@ -268,7 +269,7 @@ index 0ed89584ef..e7e157c201 100644
268 #include "alloc-util.h" 269 #include "alloc-util.h"
269 #include "netlink-util.h" 270 #include "netlink-util.h"
270diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c 271diff --git a/src/network/test-network-tables.c b/src/network/test-network-tables.c
271index 475cac7527..9bae6eda16 100644 272index ce34449554..0b5dc01182 100644
272--- a/src/network/test-network-tables.c 273--- a/src/network/test-network-tables.c
273+++ b/src/network/test-network-tables.c 274+++ b/src/network/test-network-tables.c
274@@ -1,5 +1,6 @@ 275@@ -1,5 +1,6 @@
@@ -279,7 +280,7 @@ index 475cac7527..9bae6eda16 100644
279 #include "dhcp6-internal.h" 280 #include "dhcp6-internal.h"
280 #include "dhcp6-protocol.h" 281 #include "dhcp6-protocol.h"
281diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c 282diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
282index e6fab262f2..41dd3d7df7 100644 283index 654d36a83a..f4ed42d543 100644
283--- a/src/shared/ethtool-util.c 284--- a/src/shared/ethtool-util.c
284+++ b/src/shared/ethtool-util.c 285+++ b/src/shared/ethtool-util.c
285@@ -1,5 +1,6 @@ 286@@ -1,5 +1,6 @@
@@ -290,7 +291,7 @@ index e6fab262f2..41dd3d7df7 100644
290 #include <sys/ioctl.h> 291 #include <sys/ioctl.h>
291 #include <linux/ethtool.h> 292 #include <linux/ethtool.h>
292diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h 293diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
293index f94b3e15bf..08a7e4fa09 100644 294index 11e2906681..a171df0737 100644
294--- a/src/shared/ethtool-util.h 295--- a/src/shared/ethtool-util.h
295+++ b/src/shared/ethtool-util.h 296+++ b/src/shared/ethtool-util.h
296@@ -3,6 +3,7 @@ 297@@ -3,6 +3,7 @@
@@ -302,7 +303,7 @@ index f94b3e15bf..08a7e4fa09 100644
302 303
303 #include "conf-parser.h" 304 #include "conf-parser.h"
304diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c 305diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
305index d12fd0e299..636806dc23 100644 306index 31e5d0cd67..f25f821364 100644
306--- a/src/udev/net/link-config.c 307--- a/src/udev/net/link-config.c
307+++ b/src/udev/net/link-config.c 308+++ b/src/udev/net/link-config.c
308@@ -1,5 +1,6 @@ 309@@ -1,5 +1,6 @@
@@ -323,6 +324,3 @@ index 87e1fb133e..13876029d0 100644
323 #include "alloc-util.h" 324 #include "alloc-util.h"
324 #include "device-util.h" 325 #include "device-util.h"
325 #include "errno-util.h" 326 #include "errno-util.h"
326--
3272.25.1
328
diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
index 6865421586..2ff08c7fae 100644
--- a/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
+++ b/meta/recipes-core/systemd/systemd/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -1,8 +1,7 @@
1From 87a14dde13c8fa68239a4ab62914a093062b3b29 Mon Sep 17 00:00:00 2001 1From bca73ff2fbff2dc311040a87a4f536f89af07ad6 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 14:56:21 +0800 3Date: Mon, 25 Feb 2019 14:56:21 +0800
4Subject: [PATCH 07/26] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not 4Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined
5 defined
6 5
7If the standard library doesn't provide brace 6If the standard library doesn't provide brace
8expansion users just won't get it. 7expansion users just won't get it.
@@ -17,6 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
17Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 16Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
18[rebased for systemd 243] 17[rebased for systemd 243]
19Signed-off-by: Scott Murray <scott.murray@konsulko.com> 18Signed-off-by: Scott Murray <scott.murray@konsulko.com>
19
20--- 20---
21 src/basic/glob-util.c | 12 ++++++++++++ 21 src/basic/glob-util.c | 12 ++++++++++++
22 src/test/test-glob-util.c | 16 ++++++++++++++++ 22 src/test/test-glob-util.c | 16 ++++++++++++++++
@@ -115,10 +115,10 @@ index df6444c433..79a692046e 100644
115 115
116 (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); 116 (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
117diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c 117diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
118index 9906c70eef..5eb63b1d57 100644 118index 6b73d1e6d5..26b3b74275 100644
119--- a/src/tmpfiles/tmpfiles.c 119--- a/src/tmpfiles/tmpfiles.c
120+++ b/src/tmpfiles/tmpfiles.c 120+++ b/src/tmpfiles/tmpfiles.c
121@@ -63,6 +63,12 @@ 121@@ -66,6 +66,12 @@
122 #include "umask-util.h" 122 #include "umask-util.h"
123 #include "user-util.h" 123 #include "user-util.h"
124 124
@@ -131,7 +131,7 @@ index 9906c70eef..5eb63b1d57 100644
131 /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates 131 /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
132 * them in the file system. This is intended to be used to create 132 * them in the file system. This is intended to be used to create
133 * properly owned directories beneath /tmp, /var/tmp, /run, which are 133 * properly owned directories beneath /tmp, /var/tmp, /run, which are
134@@ -1936,7 +1942,9 @@ finish: 134@@ -1947,7 +1953,9 @@ finish:
135 135
136 static int glob_item(Item *i, action_t action) { 136 static int glob_item(Item *i, action_t action) {
137 _cleanup_globfree_ glob_t g = { 137 _cleanup_globfree_ glob_t g = {
@@ -141,7 +141,7 @@ index 9906c70eef..5eb63b1d57 100644
141 }; 141 };
142 int r = 0, k; 142 int r = 0, k;
143 char **fn; 143 char **fn;
144@@ -1956,7 +1964,9 @@ static int glob_item(Item *i, action_t action) { 144@@ -1967,7 +1975,9 @@ static int glob_item(Item *i, action_t action) {
145 145
146 static int glob_item_recursively(Item *i, fdaction_t action) { 146 static int glob_item_recursively(Item *i, fdaction_t action) {
147 _cleanup_globfree_ glob_t g = { 147 _cleanup_globfree_ glob_t g = {
@@ -151,6 +151,3 @@ index 9906c70eef..5eb63b1d57 100644
151 }; 151 };
152 int r = 0, k; 152 int r = 0, k;
153 char **fn; 153 char **fn;
154--
1552.27.0
156
diff --git a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
index 94cdc2efde..142ca01345 100644
--- a/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
+++ b/meta/recipes-core/systemd/systemd/0008-add-missing-FTW_-macros-for-musl.patch
@@ -1,7 +1,7 @@
1From 8caea3fe87d55fd16de7d1b8266239fa954cb498 Mon Sep 17 00:00:00 2001 1From e0d1912f0246c97e5e7b4177691363d2d077e11d Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 15:00:06 +0800 3Date: Mon, 25 Feb 2019 15:00:06 +0800
4Subject: [PATCH 08/26] add missing FTW_ macros for musl 4Subject: [PATCH] add missing FTW_ macros for musl
5 5
6This is to avoid build failures like below for musl. 6This is to avoid build failures like below for musl.
7 7
@@ -10,6 +10,7 @@ This is to avoid build failures like below for musl.
10Upstream-Status: Inappropriate [musl specific] 10Upstream-Status: Inappropriate [musl specific]
11 11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13
13--- 14---
14 src/basic/missing_type.h | 20 ++++++++++++++++++++ 15 src/basic/missing_type.h | 20 ++++++++++++++++++++
15 1 file changed, 20 insertions(+) 16 1 file changed, 20 insertions(+)
@@ -42,6 +43,3 @@ index aeaf6ad5ec..3df1084ef2 100644
42+#ifndef FTW_SKIP_SIBLINGS 43+#ifndef FTW_SKIP_SIBLINGS
43+#define FTW_SKIP_SIBLINGS 3 44+#define FTW_SKIP_SIBLINGS 3
44+#endif 45+#endif
45--
462.27.0
47
diff --git a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
index 76cc75cf6a..53f0a1ba62 100644
--- a/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ b/meta/recipes-core/systemd/systemd/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch
@@ -1,17 +1,18 @@
1From d8e4f0aa1760e4c7bb8476beecd35025c9cbb95a Mon Sep 17 00:00:00 2001 1From bb41fe773881a8f1d9615d388320b9c6fc47bfe5 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 15:03:47 +0800 3Date: Mon, 25 Feb 2019 15:03:47 +0800
4Subject: [PATCH 09/26] fix missing of __register_atfork for non-glibc builds 4Subject: [PATCH] fix missing of __register_atfork for non-glibc builds
5 5
6Upstream-Status: Inappropriate [musl specific] 6Upstream-Status: Inappropriate [musl specific]
7 7
8Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 8Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
9
9--- 10---
10 src/basic/process-util.c | 7 +++++++ 11 src/basic/process-util.c | 7 +++++++
11 1 file changed, 7 insertions(+) 12 1 file changed, 7 insertions(+)
12 13
13diff --git a/src/basic/process-util.c b/src/basic/process-util.c 14diff --git a/src/basic/process-util.c b/src/basic/process-util.c
14index 0851613fc9..4417101569 100644 15index 7d4301eadb..caa9dfe3a3 100644
15--- a/src/basic/process-util.c 16--- a/src/basic/process-util.c
16+++ b/src/basic/process-util.c 17+++ b/src/basic/process-util.c
17@@ -18,6 +18,9 @@ 18@@ -18,6 +18,9 @@
@@ -24,7 +25,7 @@ index 0851613fc9..4417101569 100644
24 25
25 #include "alloc-util.h" 26 #include "alloc-util.h"
26 #include "architecture.h" 27 #include "architecture.h"
27@@ -1143,11 +1146,15 @@ void reset_cached_pid(void) { 28@@ -1121,11 +1124,15 @@ void reset_cached_pid(void) {
28 cached_pid = CACHED_PID_UNSET; 29 cached_pid = CACHED_PID_UNSET;
29 } 30 }
30 31
@@ -40,6 +41,3 @@ index 0851613fc9..4417101569 100644
40 41
41 pid_t getpid_cached(void) { 42 pid_t getpid_cached(void) {
42 static bool installed = false; 43 static bool installed = false;
43--
442.27.0
45
diff --git a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
index aeacd865ae..af1a6bb053 100644
--- a/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
+++ b/meta/recipes-core/systemd/systemd/0010-Use-uintmax_t-for-handling-rlim_t.patch
@@ -1,7 +1,7 @@
1From e45bb02174812e4935214f42a18725be320770d5 Mon Sep 17 00:00:00 2001 1From dc40487e0ac26e3ca317429b9c3e8f01772de60a Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 15:12:41 +0800 3Date: Mon, 25 Feb 2019 15:12:41 +0800
4Subject: [PATCH 10/26] Use uintmax_t for handling rlim_t 4Subject: [PATCH] Use uintmax_t for handling rlim_t
5 5
6PRIu{32,64} is not right format to represent rlim_t type 6PRIu{32,64} is not right format to represent rlim_t type
7therefore use %ju and typecast the rlim_t variables to 7therefore use %ju and typecast the rlim_t variables to
@@ -20,6 +20,7 @@ Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
20Signed-off-by: Khem Raj <raj.khem@gmail.com> 20Signed-off-by: Khem Raj <raj.khem@gmail.com>
21[Rebased for v241] 21[Rebased for v241]
22Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 22Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
23
23--- 24---
24 src/basic/format-util.h | 8 +------- 25 src/basic/format-util.h | 8 +-------
25 src/basic/rlimit-util.c | 10 +++++----- 26 src/basic/rlimit-util.c | 10 +++++-----
@@ -46,10 +47,10 @@ index b7e18768e3..3195ab205d 100644
46 #if SIZEOF_DEV_T == 8 47 #if SIZEOF_DEV_T == 8
47 # define DEV_FMT "%" PRIu64 48 # define DEV_FMT "%" PRIu64
48diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c 49diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
49index 880976312c..9e1b61cd4a 100644 50index 23d108d5df..94373c9422 100644
50--- a/src/basic/rlimit-util.c 51--- a/src/basic/rlimit-util.c
51+++ b/src/basic/rlimit-util.c 52+++ b/src/basic/rlimit-util.c
52@@ -306,13 +306,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) { 53@@ -308,13 +308,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
53 if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY) 54 if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
54 s = strdup("infinity"); 55 s = strdup("infinity");
55 else if (rl->rlim_cur >= RLIM_INFINITY) 56 else if (rl->rlim_cur >= RLIM_INFINITY)
@@ -67,7 +68,7 @@ index 880976312c..9e1b61cd4a 100644
67 68
68 if (!s) 69 if (!s)
69 return -ENOMEM; 70 return -ENOMEM;
70@@ -403,7 +403,7 @@ int rlimit_nofile_safe(void) { 71@@ -405,7 +405,7 @@ int rlimit_nofile_safe(void) {
71 72
72 rl.rlim_cur = FD_SETSIZE; 73 rl.rlim_cur = FD_SETSIZE;
73 if (setrlimit(RLIMIT_NOFILE, &rl) < 0) 74 if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
@@ -77,10 +78,10 @@ index 880976312c..9e1b61cd4a 100644
77 return 1; 78 return 1;
78 } 79 }
79diff --git a/src/core/execute.c b/src/core/execute.c 80diff --git a/src/core/execute.c b/src/core/execute.c
80index 89632e0582..335283776c 100644 81index f82fc294c0..4696d055a8 100644
81--- a/src/core/execute.c 82--- a/src/core/execute.c
82+++ b/src/core/execute.c 83+++ b/src/core/execute.c
83@@ -5288,9 +5288,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { 84@@ -5370,9 +5370,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
84 for (unsigned i = 0; i < RLIM_NLIMITS; i++) 85 for (unsigned i = 0; i < RLIM_NLIMITS; i++)
85 if (c->rlimit[i]) { 86 if (c->rlimit[i]) {
86 fprintf(f, "%sLimit%s: " RLIM_FMT "\n", 87 fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
@@ -92,6 +93,3 @@ index 89632e0582..335283776c 100644
92 } 93 }
93 94
94 if (c->ioprio_set) { 95 if (c->ioprio_set) {
95--
962.27.0
97
diff --git a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
index 6d7fdbcb64..b1d782719c 100644
--- a/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ b/meta/recipes-core/systemd/systemd/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
@@ -1,13 +1,13 @@
1From d1db531ddd3bbf94d5e764b7917bcc8684ff6357 Mon Sep 17 00:00:00 2001 1From f8be7b283309e4332eedc088774daac637afef7b Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 28 Feb 2018 21:25:22 -0800 3Date: Wed, 28 Feb 2018 21:25:22 -0800
4Subject: [PATCH 11/26] test-sizeof.c: Disable tests for missing typedefs in 4Subject: [PATCH] test-sizeof.c: Disable tests for missing typedefs in musl
5 musl
6 5
7Upstream-Status: Inappropriate [musl specific] 6Upstream-Status: Inappropriate [musl specific]
8 7
9Signed-off-by: Khem Raj <raj.khem@gmail.com> 8Signed-off-by: Khem Raj <raj.khem@gmail.com>
10Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 9Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
10
11--- 11---
12 src/test/test-sizeof.c | 4 ++++ 12 src/test/test-sizeof.c | 4 ++++
13 1 file changed, 4 insertions(+) 13 1 file changed, 4 insertions(+)
@@ -37,6 +37,3 @@ index 3c9dc180fa..e1a59d408c 100644
37 info(pid_t); 37 info(pid_t);
38 info(uid_t); 38 info(uid_t);
39 info(gid_t); 39 info(gid_t);
40--
412.27.0
42
diff --git a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
index c15b6e7d82..5f2178734d 100644
--- a/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ b/meta/recipes-core/systemd/systemd/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -1,7 +1,7 @@
1From 03e89da266edf70121a19ffc32a78cc3b97585ef Mon Sep 17 00:00:00 2001 1From 06915b70735caa66987af758ebdc4207757ae758 Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com> 2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Tue, 10 Oct 2017 14:33:30 -0700 3Date: Tue, 10 Oct 2017 14:33:30 -0700
4Subject: [PATCH 12/26] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() 4Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
5 5
6Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right 6Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
7thing to do and it's not portable (not supported by musl). See: 7thing to do and it's not portable (not supported by musl). See:
@@ -25,20 +25,22 @@ just historical and not actually necessary or desired behaviour?
25Upstream-Status: Inappropriate [musl specific] 25Upstream-Status: Inappropriate [musl specific]
26 26
27Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 27Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
28
28--- 29---
29 src/basic/fs-util.h | 22 +++++++++++++++++++++- 30 src/basic/fs-util.h | 23 +++++++++++++++++++++--
30 src/shared/base-filesystem.c | 6 +++--- 31 src/shared/base-filesystem.c | 6 +++---
31 2 files changed, 24 insertions(+), 4 deletions(-) 32 2 files changed, 24 insertions(+), 5 deletions(-)
32 33
33diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h 34diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
34index 5dc8853eac..0491b3dae2 100644 35index 027037f7a7..16eb379caf 100644
35--- a/src/basic/fs-util.h 36--- a/src/basic/fs-util.h
36+++ b/src/basic/fs-util.h 37+++ b/src/basic/fs-util.h
37@@ -43,7 +43,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); 38@@ -44,8 +44,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
38 int fd_warn_permissions(const char *path, int fd); 39 int fd_warn_permissions(const char *path, int fd);
39 int stat_warn_permissions(const char *path, const struct stat *st); 40 int stat_warn_permissions(const char *path, const struct stat *st);
40 41
41-#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) 42-#define laccess(path, mode) \
43- (faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW) < 0 ? -errno : 0)
42+/* 44+/*
43+ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to 45+ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
44+ do and it's not portable (not supported by musl). See: 46+ do and it's not portable (not supported by musl). See:
@@ -94,6 +96,3 @@ index 1d05409086..1ed06c31ab 100644
94 continue; 96 continue;
95 } 97 }
96 98
97--
982.27.0
99
diff --git a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
index 89736bcfde..51b145729d 100644
--- a/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ b/meta/recipes-core/systemd/systemd/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -1,8 +1,7 @@
1From dd134880e9a16595ab473934577e873c748e9c7a Mon Sep 17 00:00:00 2001 1From 0c44af262cfa07c57db4b32de1f7610af47797f4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 27 May 2018 08:36:44 -0700 3Date: Sun, 27 May 2018 08:36:44 -0700
4Subject: [PATCH 13/26] Define glibc compatible basename() for non-glibc 4Subject: [PATCH] Define glibc compatible basename() for non-glibc systems
5 systems
6 5
7Fixes builds with musl, even though systemd is adamant about 6Fixes builds with musl, even though systemd is adamant about
8using non-posix basename implementation, we have a way out 7using non-posix basename implementation, we have a way out
@@ -10,12 +9,13 @@ using non-posix basename implementation, we have a way out
10Upstream-Status: Inappropriate [musl specific] 9Upstream-Status: Inappropriate [musl specific]
11 10
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12
13--- 13---
14 src/machine/machine-dbus.c | 5 +++++ 14 src/machine/machine-dbus.c | 5 +++++
15 1 file changed, 5 insertions(+) 15 1 file changed, 5 insertions(+)
16 16
17diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c 17diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
18index f5780f1aec..aec5825b3e 100644 18index 3a1e4f9072..ab87b9882c 100644
19--- a/src/machine/machine-dbus.c 19--- a/src/machine/machine-dbus.c
20+++ b/src/machine/machine-dbus.c 20+++ b/src/machine/machine-dbus.c
21@@ -11,6 +11,11 @@ 21@@ -11,6 +11,11 @@
@@ -30,6 +30,3 @@ index f5780f1aec..aec5825b3e 100644
30 #include "alloc-util.h" 30 #include "alloc-util.h"
31 #include "bus-common-errors.h" 31 #include "bus-common-errors.h"
32 #include "bus-get-properties.h" 32 #include "bus-get-properties.h"
33--
342.27.0
35
diff --git a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
index e95d2ae078..7444d4375f 100644
--- a/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ b/meta/recipes-core/systemd/systemd/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -1,7 +1,7 @@
1From 55af446156da863b5b36a1109845858956a4c274 Mon Sep 17 00:00:00 2001 1From 0f4b60e34a806055c678eb97a7ec7e21291bcf48 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 4 Jul 2018 15:00:44 +0800 3Date: Wed, 4 Jul 2018 15:00:44 +0800
4Subject: [PATCH 14/26] Do not disable buffering when writing to oom_score_adj 4Subject: [PATCH] Do not disable buffering when writing to oom_score_adj
5 5
6On musl, disabling buffering when writing to oom_score_adj will 6On musl, disabling buffering when writing to oom_score_adj will
7cause the following error. 7cause the following error.
@@ -19,15 +19,16 @@ Upstream-Status: Inappropriate [musl specific]
19Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 19Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
20[rebased for systemd 243] 20[rebased for systemd 243]
21Signed-off-by: Scott Murray <scott.murray@konsulko.com> 21Signed-off-by: Scott Murray <scott.murray@konsulko.com>
22
22--- 23---
23 src/basic/process-util.c | 2 +- 24 src/basic/process-util.c | 2 +-
24 1 file changed, 1 insertion(+), 1 deletion(-) 25 1 file changed, 1 insertion(+), 1 deletion(-)
25 26
26diff --git a/src/basic/process-util.c b/src/basic/process-util.c 27diff --git a/src/basic/process-util.c b/src/basic/process-util.c
27index 4417101569..556dab8ebf 100644 28index caa9dfe3a3..6101f43db5 100644
28--- a/src/basic/process-util.c 29--- a/src/basic/process-util.c
29+++ b/src/basic/process-util.c 30+++ b/src/basic/process-util.c
30@@ -1536,7 +1536,7 @@ int set_oom_score_adjust(int value) { 31@@ -1523,7 +1523,7 @@ int set_oom_score_adjust(int value) {
31 sprintf(t, "%i", value); 32 sprintf(t, "%i", value);
32 33
33 return write_string_file("/proc/self/oom_score_adj", t, 34 return write_string_file("/proc/self/oom_score_adj", t,
@@ -36,6 +37,3 @@ index 4417101569..556dab8ebf 100644
36 } 37 }
37 38
38 int pidfd_get_pid(int fd, pid_t *ret) { 39 int pidfd_get_pid(int fd, pid_t *ret) {
39--
402.27.0
41
diff --git a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
index 5cdcf84dc1..90cc70d216 100644
--- a/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ b/meta/recipes-core/systemd/systemd/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -1,7 +1,7 @@
1From e382845aed90cfe4496a8351d57d4466dd2e9a9c Mon Sep 17 00:00:00 2001 1From c30ab62d18ce88187f5eb6c236e0977c9337f68d Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Tue, 10 Jul 2018 15:40:17 +0800 3Date: Tue, 10 Jul 2018 15:40:17 +0800
4Subject: [PATCH 15/26] distinguish XSI-compliant strerror_r from GNU-specifi 4Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi
5 strerror_r 5 strerror_r
6 6
7XSI-compliant strerror_r and GNU-specifi strerror_r are different. 7XSI-compliant strerror_r and GNU-specifi strerror_r are different.
@@ -18,28 +18,12 @@ assigned to (char *) variable, resulting in segment fault.
18Upstream-Status: Inappropriate [musl specific] 18Upstream-Status: Inappropriate [musl specific]
19 19
20Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 20Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
21
21--- 22---
22 src/journal/journal-send.c | 5 +++++ 23 src/libsystemd/sd-bus/bus-error.c | 5 +++++
23 src/libsystemd/sd-bus/bus-error.c | 5 +++++ 24 src/libsystemd/sd-journal/journal-send.c | 5 +++++
24 2 files changed, 10 insertions(+) 25 2 files changed, 10 insertions(+)
25 26
26diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
27index e8e6ad555b..8ca5271d02 100644
28--- a/src/journal/journal-send.c
29+++ b/src/journal/journal-send.c
30@@ -348,7 +348,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
43diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c 27diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
44index 8da2024a50..9605a9b869 100644 28index 8da2024a50..9605a9b869 100644
45--- a/src/libsystemd/sd-bus/bus-error.c 29--- a/src/libsystemd/sd-bus/bus-error.c
@@ -57,6 +41,20 @@ index 8da2024a50..9605a9b869 100644
57 if (errno == ERANGE || strlen(x) >= k - 1) { 41 if (errno == ERANGE || strlen(x) >= k - 1) {
58 free(m); 42 free(m);
59 k *= 2; 43 k *= 2;
60-- 44diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
612.27.0 45index e8e6ad555b..8ca5271d02 100644
62 46--- a/src/libsystemd/sd-journal/journal-send.c
47+++ b/src/libsystemd/sd-journal/journal-send.c
48@@ -348,7 +348,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
49 char* j;
50
51 errno = 0;
52+#ifndef __GLIBC__
53+ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
54+ j = buffer + 8 + k;
55+#else
56 j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
57+#endif
58 if (errno == 0) {
59 char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
60
diff --git a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
index 9a125de638..de7f9ecfa2 100644
--- a/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ b/meta/recipes-core/systemd/systemd/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
@@ -1,7 +1,7 @@
1From 0c7af5f288231a8c0545e169e01ba5ee173cafe7 Mon Sep 17 00:00:00 2001 1From fa86e5578256dddb296fd30128929ea7c4b792a4 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 15:18:00 +0800 3Date: Mon, 25 Feb 2019 15:18:00 +0800
4Subject: [PATCH 16/26] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP 4Subject: [PATCH] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
5 5
6for currently unknown reasons they get exported to the shared libries 6for currently unknown reasons they get exported to the shared libries
7even without being listed in the sym file 7even without being listed in the sym file
@@ -11,6 +11,7 @@ Upstream-Status: Pending
11Signed-off-by: Khem Raj <raj.khem@gmail.com> 11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12[Rebased for v241] 12[Rebased for v241]
13Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 13Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
14
14--- 15---
15 src/libsystemd/sd-bus/bus-error.c | 4 ++-- 16 src/libsystemd/sd-bus/bus-error.c | 4 ++--
16 1 file changed, 2 insertions(+), 2 deletions(-) 17 1 file changed, 2 insertions(+), 2 deletions(-)
@@ -30,6 +31,3 @@ index 9605a9b869..38b6cf90c3 100644
30 31
31 /* Additional maps registered with sd_bus_error_add_map() are in this 32 /* Additional maps registered with sd_bus_error_add_map() are in this
32 * NULL terminated array */ 33 * NULL terminated array */
33--
342.27.0
35
diff --git a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
index 31747c6b40..d9ef2b8a47 100644
--- a/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
+++ b/meta/recipes-core/systemd/systemd/0017-missing_type.h-add-__compar_d_fn_t-definition.patch
@@ -1,7 +1,7 @@
1From 32dd7a47b87793cd836ab4bb776d1524f24c2d58 Mon Sep 17 00:00:00 2001 1From 11e730694706fa354a0e43c588ef66677a777d9a Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 15:27:54 +0800 3Date: Mon, 25 Feb 2019 15:27:54 +0800
4Subject: [PATCH 17/26] missing_type.h: add __compar_d_fn_t definition 4Subject: [PATCH] missing_type.h: add __compar_d_fn_t definition
5 5
6Fix the following compile failure: 6Fix the following compile failure:
7src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'? 7src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
@@ -9,6 +9,7 @@ src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean
9Upstream-Status: Inappropriate [musl specific] 9Upstream-Status: Inappropriate [musl specific]
10 10
11Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 11Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
12
12--- 13---
13 src/basic/missing_type.h | 1 + 14 src/basic/missing_type.h | 1 +
14 1 file changed, 1 insertion(+) 15 1 file changed, 1 insertion(+)
@@ -25,6 +26,3 @@ index 3df1084ef2..697aa7f58a 100644
25 #endif 26 #endif
26 27
27 #ifndef __COMPAR_FN_T 28 #ifndef __COMPAR_FN_T
28--
292.27.0
30
diff --git a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
index 56d361a213..3b60854233 100644
--- a/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ b/meta/recipes-core/systemd/systemd/0018-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -1,7 +1,7 @@
1From bfc3416edeb69082ac9b9c9e844f12d7b45bb006 Mon Sep 17 00:00:00 2001 1From 45bae28d3da6607d33d54f4b30a500f5249aadde Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 15:44:54 +0800 3Date: Mon, 25 Feb 2019 15:44:54 +0800
4Subject: [PATCH 18/26] avoid redefinition of prctl_mm_map structure 4Subject: [PATCH] avoid redefinition of prctl_mm_map structure
5 5
6Fix the following compile failure: 6Fix the following compile failure:
7error: redefinition of 'struct prctl_mm_map' 7error: redefinition of 'struct prctl_mm_map'
@@ -9,6 +9,7 @@ error: redefinition of 'struct prctl_mm_map'
9Upstream-Status: Inappropriate [musl specific] 9Upstream-Status: Inappropriate [musl specific]
10 10
11Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 11Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
12
12--- 13---
13 src/basic/missing_prctl.h | 2 ++ 14 src/basic/missing_prctl.h | 2 ++
14 1 file changed, 2 insertions(+) 15 1 file changed, 2 insertions(+)
@@ -27,6 +28,3 @@ index ab851306ba..5547cad875 100644
27 28
28 /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ 29 /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
29 #ifndef PR_CAP_AMBIENT 30 #ifndef PR_CAP_AMBIENT
30--
312.27.0
32
diff --git a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
index 6ca196489b..7d6433f317 100644
--- a/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
+++ b/meta/recipes-core/systemd/systemd/0019-Handle-missing-LOCK_EX.patch
@@ -1,16 +1,17 @@
1From e427f03de2c56e868bb0f24aa231315b2dae1b71 Mon Sep 17 00:00:00 2001 1From 6e593ff2afbe4bfe15eee2ec34e51490a38462f5 Mon Sep 17 00:00:00 2001
2From: Alex Kiernan <alex.kiernan@gmail.com> 2From: Alex Kiernan <alex.kiernan@gmail.com>
3Date: Fri, 7 Aug 2020 15:19:27 +0000 3Date: Fri, 7 Aug 2020 15:19:27 +0000
4Subject: [PATCH 19/26] Handle missing LOCK_EX 4Subject: [PATCH] Handle missing LOCK_EX
5 5
6Upstream-Status: Inappropriate [musl specific] 6Upstream-Status: Inappropriate [musl specific]
7Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> 7Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
8
8--- 9---
9 src/partition/makefs.c | 1 + 10 src/partition/makefs.c | 1 +
10 1 file changed, 1 insertion(+) 11 1 file changed, 1 insertion(+)
11 12
12diff --git a/src/partition/makefs.c b/src/partition/makefs.c 13diff --git a/src/partition/makefs.c b/src/partition/makefs.c
13index fd924d2231..b97580fdcc 100644 14index 7c94fbfedb..42f966722d 100644
14--- a/src/partition/makefs.c 15--- a/src/partition/makefs.c
15+++ b/src/partition/makefs.c 16+++ b/src/partition/makefs.c
16@@ -6,6 +6,7 @@ 17@@ -6,6 +6,7 @@
@@ -21,6 +22,3 @@ index fd924d2231..b97580fdcc 100644
21 22
22 #include "alloc-util.h" 23 #include "alloc-util.h"
23 #include "blockdev-util.h" 24 #include "blockdev-util.h"
24--
252.27.0
26
diff --git a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
index f74de43849..1faee1c055 100644
--- a/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
+++ b/meta/recipes-core/systemd/systemd/0020-Fix-incompatible-pointer-type-struct-sockaddr_un.patch
@@ -1,7 +1,7 @@
1From 9abbc5e69e21aef0d4d4567e69302fa660b76c53 Mon Sep 17 00:00:00 2001 1From ac579b296aa29c2f1dad9425c6d795e154ec8f7c Mon Sep 17 00:00:00 2001
2From: Alex Kiernan <alex.kiernan@gmail.com> 2From: Alex Kiernan <alex.kiernan@gmail.com>
3Date: Fri, 7 Aug 2020 15:20:17 +0000 3Date: Fri, 7 Aug 2020 15:20:17 +0000
4Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un * 4Subject: [PATCH] Fix incompatible pointer type struct sockaddr_un *
5 5
6| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns': 6| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c: In function 'cant_be_in_netns':
7| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types] 7| ../../../../../../workspace/sources/systemd/src/nspawn/nspawn.c:4893:25: error: passing argument 2 of 'connect' from incompatible pointer type [-Werror=incompatible-pointer-types]
@@ -18,15 +18,16 @@ Subject: [PATCH 20/26] Fix incompatible pointer type struct sockaddr_un *
18 18
19Upstream-Status: Inappropriate [musl specific] 19Upstream-Status: Inappropriate [musl specific]
20Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> 20Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
21
21--- 22---
22 src/nspawn/nspawn.c | 2 +- 23 src/nspawn/nspawn.c | 2 +-
23 1 file changed, 1 insertion(+), 1 deletion(-) 24 1 file changed, 1 insertion(+), 1 deletion(-)
24 25
25diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 26diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
26index 0842731c18..3528b7ff14 100644 27index a4ac8ed2bb..0c41a48d4b 100644
27--- a/src/nspawn/nspawn.c 28--- a/src/nspawn/nspawn.c
28+++ b/src/nspawn/nspawn.c 29+++ b/src/nspawn/nspawn.c
29@@ -5084,7 +5084,7 @@ static int cant_be_in_netns(void) { 30@@ -5125,7 +5125,7 @@ static int cant_be_in_netns(void) {
30 if (fd < 0) 31 if (fd < 0)
31 return log_error_errno(errno, "Failed to allocate udev control socket: %m"); 32 return log_error_errno(errno, "Failed to allocate udev control socket: %m");
32 33
@@ -35,6 +36,3 @@ index 0842731c18..3528b7ff14 100644
35 36
36 if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno)) 37 if (errno == ENOENT || ERRNO_IS_DISCONNECT(errno))
37 return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), 38 return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
38--
392.27.0
40
diff --git a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
index fa6652a5bf..14c8ff73a0 100644
--- a/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
+++ b/meta/recipes-core/systemd/systemd/0021-test-json.c-define-M_PIl.patch
@@ -1,7 +1,7 @@
1From 1f5bc54bed0b365e7e448c26f6c792dbe8b3b198 Mon Sep 17 00:00:00 2001 1From 6bc78df50adb48d24a2abfdf65b44b932cc5a571 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Mon, 25 Feb 2019 16:53:06 +0800 3Date: Mon, 25 Feb 2019 16:53:06 +0800
4Subject: [PATCH 21/26] test-json.c: define M_PIl 4Subject: [PATCH] test-json.c: define M_PIl
5 5
6Fix the following compile failure: 6Fix the following compile failure:
7src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'? 7src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
@@ -9,6 +9,7 @@ src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this functi
9Upstream-Status: Inappropriate [musl specific] 9Upstream-Status: Inappropriate [musl specific]
10 10
11Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 11Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
12
12--- 13---
13 src/test/test-json.c | 4 ++++ 14 src/test/test-json.c | 4 ++++
14 1 file changed, 4 insertions(+) 15 1 file changed, 4 insertions(+)
@@ -28,6 +29,3 @@ index 1d4b11945e..572c8cf9d0 100644
28 static void test_tokenizer(const char *data, ...) { 29 static void test_tokenizer(const char *data, ...) {
29 unsigned line = 0, column = 0; 30 unsigned line = 0, column = 0;
30 void *state = NULL; 31 void *state = NULL;
31--
322.27.0
33
diff --git a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
index 675fd20f11..bd627c51e9 100644
--- a/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
+++ b/meta/recipes-core/systemd/systemd/0022-do-not-disable-buffer-in-writing-files.patch
@@ -1,7 +1,7 @@
1From 564dba5ad0cd884e3f69fa19ca64095413578ea5 Mon Sep 17 00:00:00 2001 1From 7cb6579572b50ef44bc0a321a4c73cce55b0c2f2 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com> 2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Fri, 1 Mar 2019 15:22:15 +0800 3Date: Fri, 1 Mar 2019 15:22:15 +0800
4Subject: [PATCH 22/26] do not disable buffer in writing files 4Subject: [PATCH] do not disable buffer in writing files
5 5
6Do not disable buffer in writing files, otherwise we get 6Do not disable buffer in writing files, otherwise we get
7failure at boot for musl like below. 7failure at boot for musl like below.
@@ -18,10 +18,12 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
18Signed-off-by: Andrej Valek <andrej.valek@siemens.com> 18Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
19[rebased for systemd 243] 19[rebased for systemd 243]
20Signed-off-by: Scott Murray <scott.murray@konsulko.com> 20Signed-off-by: Scott Murray <scott.murray@konsulko.com>
21
21--- 22---
22 src/basic/cgroup-util.c | 10 +++++----- 23 src/basic/cgroup-util.c | 10 +++++-----
23 src/basic/procfs-util.c | 4 ++-- 24 src/basic/procfs-util.c | 4 ++--
24 src/basic/smack-util.c | 2 +- 25 src/basic/smack-util.c | 2 +-
26 src/basic/sysctl-util.c | 2 +-
25 src/basic/util.c | 2 +- 27 src/basic/util.c | 2 +-
26 src/binfmt/binfmt.c | 6 +++--- 28 src/binfmt/binfmt.c | 6 +++---
27 src/core/main.c | 4 ++-- 29 src/core/main.c | 4 ++--
@@ -32,18 +34,15 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com>
32 src/nspawn/nspawn-cgroup.c | 2 +- 34 src/nspawn/nspawn-cgroup.c | 2 +-
33 src/nspawn/nspawn.c | 6 +++--- 35 src/nspawn/nspawn.c | 6 +++---
34 src/shared/cgroup-setup.c | 4 ++-- 36 src/shared/cgroup-setup.c | 4 ++--
35 src/shared/sysctl-util.c | 2 +-
36 src/sleep/sleep.c | 8 ++++---- 37 src/sleep/sleep.c | 8 ++++----
37 src/udev/udevadm-trigger.c | 2 +-
38 src/udev/udevd.c | 2 +-
39 src/vconsole/vconsole-setup.c | 2 +- 38 src/vconsole/vconsole-setup.c | 2 +-
40 18 files changed, 35 insertions(+), 35 deletions(-) 39 16 files changed, 33 insertions(+), 33 deletions(-)
41 40
42diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c 41diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
43index bb960f183c..cb804c5f4b 100644 42index 50c1ae1b2b..5b40e92163 100644
44--- a/src/basic/cgroup-util.c 43--- a/src/basic/cgroup-util.c
45+++ b/src/basic/cgroup-util.c 44+++ b/src/basic/cgroup-util.c
46@@ -759,7 +759,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { 45@@ -765,7 +765,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
47 46
48 sc = strstrip(contents); 47 sc = strstrip(contents);
49 if (isempty(sc)) { 48 if (isempty(sc)) {
@@ -52,7 +51,7 @@ index bb960f183c..cb804c5f4b 100644
52 if (r < 0) 51 if (r < 0)
53 return r; 52 return r;
54 } else if (!path_equal(sc, agent)) 53 } else if (!path_equal(sc, agent))
55@@ -777,7 +777,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { 54@@ -783,7 +783,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
56 55
57 sc = strstrip(contents); 56 sc = strstrip(contents);
58 if (streq(sc, "0")) { 57 if (streq(sc, "0")) {
@@ -61,7 +60,7 @@ index bb960f183c..cb804c5f4b 100644
61 if (r < 0) 60 if (r < 0)
62 return r; 61 return r;
63 62
64@@ -804,7 +804,7 @@ int cg_uninstall_release_agent(const char *controller) { 63@@ -810,7 +810,7 @@ int cg_uninstall_release_agent(const char *controller) {
65 if (r < 0) 64 if (r < 0)
66 return r; 65 return r;
67 66
@@ -70,7 +69,7 @@ index bb960f183c..cb804c5f4b 100644
70 if (r < 0) 69 if (r < 0)
71 return r; 70 return r;
72 71
73@@ -814,7 +814,7 @@ int cg_uninstall_release_agent(const char *controller) { 72@@ -820,7 +820,7 @@ int cg_uninstall_release_agent(const char *controller) {
74 if (r < 0) 73 if (r < 0)
75 return r; 74 return r;
76 75
@@ -79,7 +78,7 @@ index bb960f183c..cb804c5f4b 100644
79 if (r < 0) 78 if (r < 0)
80 return r; 79 return r;
81 80
82@@ -1646,7 +1646,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri 81@@ -1650,7 +1650,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
83 if (r < 0) 82 if (r < 0)
84 return r; 83 return r;
85 84
@@ -121,11 +120,24 @@ index 3362ee3924..80c0f2a52e 100644
121 if (r < 0) 120 if (r < 0)
122 return r; 121 return r;
123 122
123diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
124index c96b5cd77f..d2476d9665 100644
125--- a/src/basic/sysctl-util.c
126+++ b/src/basic/sysctl-util.c
127@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
128
129 log_debug("Setting '%s' to '%s'", p, value);
130
131- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
132+ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
133 }
134
135 int sysctl_read(const char *property, char **ret) {
124diff --git a/src/basic/util.c b/src/basic/util.c 136diff --git a/src/basic/util.c b/src/basic/util.c
125index f98ecf3858..13e0f7431f 100644 137index 955b18bd2a..6d89c90176 100644
126--- a/src/basic/util.c 138--- a/src/basic/util.c
127+++ b/src/basic/util.c 139+++ b/src/basic/util.c
128@@ -267,7 +267,7 @@ void disable_coredumps(void) { 140@@ -234,7 +234,7 @@ void disable_coredumps(void) {
129 if (detect_container() > 0) 141 if (detect_container() > 0)
130 return; 142 return;
131 143
@@ -135,7 +147,7 @@ index f98ecf3858..13e0f7431f 100644
135 log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); 147 log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
136 } 148 }
137diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c 149diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
138index 43ed2f385b..37a6f578f7 100644 150index f6b72e0bae..e9fd4d06be 100644
139--- a/src/binfmt/binfmt.c 151--- a/src/binfmt/binfmt.c
140+++ b/src/binfmt/binfmt.c 152+++ b/src/binfmt/binfmt.c
141@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) { 153@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
@@ -156,7 +168,7 @@ index 43ed2f385b..37a6f578f7 100644
156 if (r < 0) 168 if (r < 0)
157 return log_error_errno(r, "Failed to add binary format: %m"); 169 return log_error_errno(r, "Failed to add binary format: %m");
158 170
159@@ -223,7 +223,7 @@ static int run(int argc, char *argv[]) { 171@@ -222,7 +222,7 @@ static int run(int argc, char *argv[]) {
160 } 172 }
161 173
162 /* Flush out all rules */ 174 /* Flush out all rules */
@@ -166,10 +178,10 @@ index 43ed2f385b..37a6f578f7 100644
166 STRV_FOREACH(f, files) { 178 STRV_FOREACH(f, files) {
167 k = apply_file(*f, true); 179 k = apply_file(*f, true);
168diff --git a/src/core/main.c b/src/core/main.c 180diff --git a/src/core/main.c b/src/core/main.c
169index a280b756ff..334532cd42 100644 181index 3ee8d0a869..ec36e3e80f 100644
170--- a/src/core/main.c 182--- a/src/core/main.c
171+++ b/src/core/main.c 183+++ b/src/core/main.c
172@@ -1382,7 +1382,7 @@ static int bump_unix_max_dgram_qlen(void) { 184@@ -1401,7 +1401,7 @@ static int bump_unix_max_dgram_qlen(void) {
173 if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN) 185 if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
174 return 0; 186 return 0;
175 187
@@ -178,7 +190,7 @@ index a280b756ff..334532cd42 100644
178 if (r < 0) 190 if (r < 0)
179 return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r, 191 return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
180 "Failed to bump AF_UNIX datagram queue length, ignoring: %m"); 192 "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
181@@ -1666,7 +1666,7 @@ static void initialize_core_pattern(bool skip_setup) { 193@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) {
182 if (getpid_cached() != 1) 194 if (getpid_cached() != 1)
183 return; 195 return;
184 196
@@ -188,7 +200,7 @@ index a280b756ff..334532cd42 100644
188 log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern); 200 log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
189 } 201 }
190diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c 202diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
191index 1fe592af70..603942a000 100644 203index 8cc1696a4f..ab7b4ba2c3 100644
192--- a/src/core/smack-setup.c 204--- a/src/core/smack-setup.c
193+++ b/src/core/smack-setup.c 205+++ b/src/core/smack-setup.c
194@@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) { 206@@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
@@ -214,7 +226,7 @@ index 1fe592af70..603942a000 100644
214 log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); 226 log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
215 #endif 227 #endif
216diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c 228diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
217index d8f91f4e66..a088e6e2d8 100644 229index 58e35e403e..1d0beb4008 100644
218--- a/src/hibernate-resume/hibernate-resume.c 230--- a/src/hibernate-resume/hibernate-resume.c
219+++ b/src/hibernate-resume/hibernate-resume.c 231+++ b/src/hibernate-resume/hibernate-resume.c
220@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) { 232@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
@@ -227,20 +239,20 @@ index d8f91f4e66..a088e6e2d8 100644
227 log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor); 239 log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
228 return EXIT_FAILURE; 240 return EXIT_FAILURE;
229diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c 241diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
230index d06f90ce1d..43d0a58750 100644 242index d82f01a164..b8fd63346c 100644
231--- a/src/libsystemd/sd-device/sd-device.c 243--- a/src/libsystemd/sd-device/sd-device.c
232+++ b/src/libsystemd/sd-device/sd-device.c 244+++ b/src/libsystemd/sd-device/sd-device.c
233@@ -1976,7 +1976,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, 245@@ -1987,7 +1987,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
234 if (!value) 246 if (!value)
235 return -ENOMEM; 247 return -ENOMEM;
236 248
237- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW); 249- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
238+ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW); 250+ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
239 if (r < 0) { 251 if (r < 0) {
240 if (r == -ELOOP) 252 /* On failure, clear cache entry, as we do not know how it fails. */
241 return -EINVAL; 253 device_remove_cached_sysattr_value(device, sysattr);
242diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c 254diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
243index 7d757aa286..a5d9da5b7e 100644 255index 3bc424b83b..5f5eef0843 100644
244--- a/src/login/logind-dbus.c 256--- a/src/login/logind-dbus.c
245+++ b/src/login/logind-dbus.c 257+++ b/src/login/logind-dbus.c
246@@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device *d) { 258@@ -1330,7 +1330,7 @@ static int trigger_device(Manager *m, sd_device *d) {
@@ -266,10 +278,10 @@ index cb01b25bc6..e92051268b 100644
266 log_error_errno(r, "Failed to move process: %m"); 278 log_error_errno(r, "Failed to move process: %m");
267 goto finish; 279 goto finish;
268diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c 280diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
269index 3528b7ff14..11b0c20f95 100644 281index 0c41a48d4b..9c893b18e4 100644
270--- a/src/nspawn/nspawn.c 282--- a/src/nspawn/nspawn.c
271+++ b/src/nspawn/nspawn.c 283+++ b/src/nspawn/nspawn.c
272@@ -2667,7 +2667,7 @@ static int reset_audit_loginuid(void) { 284@@ -2695,7 +2695,7 @@ static int reset_audit_loginuid(void) {
273 if (streq(p, "4294967295")) 285 if (streq(p, "4294967295"))
274 return 0; 286 return 0;
275 287
@@ -278,7 +290,7 @@ index 3528b7ff14..11b0c20f95 100644
278 if (r < 0) { 290 if (r < 0) {
279 log_error_errno(r, 291 log_error_errno(r,
280 "Failed to reset audit login UID. This probably means that your kernel is too\n" 292 "Failed to reset audit login UID. This probably means that your kernel is too\n"
281@@ -3920,13 +3920,13 @@ static int setup_uid_map(pid_t pid) { 293@@ -3948,13 +3948,13 @@ static int setup_uid_map(pid_t pid) {
282 294
283 xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); 295 xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
284 xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range); 296 xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
@@ -316,21 +328,8 @@ index f197f715c7..077f893177 100644
316 if (r < 0) { 328 if (r < 0) {
317 log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m", 329 log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
318 FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs); 330 FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
319diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
320index 670c33108b..7c7c3dcfb6 100644
321--- a/src/shared/sysctl-util.c
322+++ b/src/shared/sysctl-util.c
323@@ -93,7 +93,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
324
325 log_debug("Setting '%s' to '%s'", p, value);
326
327- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
328+ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
329 }
330
331 int sysctl_read(const char *property, char **content) {
332diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c 331diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
333index 39ab554290..d0e566645d 100644 332index 262d4cea66..0523e8dc9b 100644
334--- a/src/sleep/sleep.c 333--- a/src/sleep/sleep.c
335+++ b/src/sleep/sleep.c 334+++ b/src/sleep/sleep.c
336@@ -48,7 +48,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca 335@@ -48,7 +48,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
@@ -369,34 +368,8 @@ index 39ab554290..d0e566645d 100644
369 if (k >= 0) 368 if (k >= 0)
370 return 0; 369 return 0;
371 log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state); 370 log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
372diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
373index 5c74184c33..65f528314e 100644
374--- a/src/udev/udevadm-trigger.c
375+++ b/src/udev/udevadm-trigger.c
376@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set **settle_s
377 if (!filename)
378 return log_oom();
379
380- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
381+ r = write_string_file(filename, action, 0);
382 if (r < 0) {
383 bool ignore = IN_SET(r, -ENOENT, -ENODEV);
384
385diff --git a/src/udev/udevd.c b/src/udev/udevd.c
386index d24b8d4398..d123a43904 100644
387--- a/src/udev/udevd.c
388+++ b/src/udev/udevd.c
389@@ -1192,7 +1192,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
390
391 filename = strjoina(syspath, "/uevent");
392 log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
393- r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
394+ r = write_string_file(filename, "change", 0);
395 if (r < 0)
396 return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
397 return 0;
398diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c 371diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
399index b28e2853e1..115b7233a0 100644 372index d1c3febdd5..1cc68694d1 100644
400--- a/src/vconsole/vconsole-setup.c 373--- a/src/vconsole/vconsole-setup.c
401+++ b/src/vconsole/vconsole-setup.c 374+++ b/src/vconsole/vconsole-setup.c
402@@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { 375@@ -116,7 +116,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
@@ -408,6 +381,3 @@ index b28e2853e1..115b7233a0 100644
408 if (r < 0) 381 if (r < 0)
409 return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); 382 return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
410 383
411--
4122.27.0
413
diff --git a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
index 1cc3985d12..7d1bd60255 100644
--- a/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
+++ b/meta/recipes-core/systemd/systemd/0025-Handle-__cpu_mask-usage.patch
@@ -1,7 +1,7 @@
1From bbda4a48a34662393117fc677c3a678d4ce4c2ec Mon Sep 17 00:00:00 2001 1From d73755cc60f401f0f20f357752e45aeeeef8e83f Mon Sep 17 00:00:00 2001
2From: Scott Murray <scott.murray@konsulko.com> 2From: Scott Murray <scott.murray@konsulko.com>
3Date: Fri, 13 Sep 2019 19:26:27 -0400 3Date: Fri, 13 Sep 2019 19:26:27 -0400
4Subject: [PATCH 25/26] Handle __cpu_mask usage 4Subject: [PATCH] Handle __cpu_mask usage
5 5
6Fixes errors: 6Fixes errors:
7 7
@@ -18,6 +18,7 @@ add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
18Upstream-Status: Inappropriate [musl specific] 18Upstream-Status: Inappropriate [musl specific]
19 19
20Signed-off-by: Scott Murray <scott.murray@konsulko.com> 20Signed-off-by: Scott Murray <scott.murray@konsulko.com>
21
21--- 22---
22 src/shared/cpu-set-util.h | 2 ++ 23 src/shared/cpu-set-util.h | 2 ++
23 src/test/test-sizeof.c | 2 +- 24 src/test/test-sizeof.c | 2 +-
@@ -55,6 +56,3 @@ index e1a59d408c..c269ea6e8c 100644
55 56
56 /* Print information about various types. Useful when diagnosing 57 /* Print information about various types. Useful when diagnosing
57 * gcc diagnostics on an unfamiliar architecture. */ 58 * gcc diagnostics on an unfamiliar architecture. */
58--
592.27.0
60
diff --git a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
index 4180afb08e..068600fa44 100644
--- a/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
+++ b/meta/recipes-core/systemd/systemd/0026-Handle-missing-gshadow.patch
@@ -1,7 +1,7 @@
1From 47bf88f74717b417e4adbcc04256334b2335c873 Mon Sep 17 00:00:00 2001 1From 04e94f9a15101daa8f65a9af269d26cda2a24056 Mon Sep 17 00:00:00 2001
2From: Alex Kiernan <alex.kiernan@gmail.com> 2From: Alex Kiernan <alex.kiernan@gmail.com>
3Date: Tue, 10 Mar 2020 11:05:20 +0000 3Date: Tue, 10 Mar 2020 11:05:20 +0000
4Subject: [PATCH 26/26] Handle missing gshadow 4Subject: [PATCH] Handle missing gshadow
5 5
6gshadow usage is now present in the userdb code. Mask all uses of it to 6gshadow usage is now present in the userdb code. Mask all uses of it to
7allow compilation on musl 7allow compilation on musl
@@ -10,6 +10,7 @@ Upstream-Status: Inappropriate [musl specific]
10Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> 10Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
11[Rebased for v247] 11[Rebased for v247]
12Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> 12Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
13
13--- 14---
14 src/shared/user-record-nss.c | 20 ++++++++++++++++++++ 15 src/shared/user-record-nss.c | 20 ++++++++++++++++++++
15 src/shared/user-record-nss.h | 4 ++++ 16 src/shared/user-record-nss.h | 4 ++++
@@ -138,10 +139,10 @@ index 22ab04d6ee..4e52e7a911 100644
138 #include <shadow.h> 139 #include <shadow.h>
139 140
140diff --git a/src/shared/userdb.c b/src/shared/userdb.c 141diff --git a/src/shared/userdb.c b/src/shared/userdb.c
141index 2d480283d1..0d19764f2e 100644 142index 613350bd46..5c821d28cd 100644
142--- a/src/shared/userdb.c 143--- a/src/shared/userdb.c
143+++ b/src/shared/userdb.c 144+++ b/src/shared/userdb.c
144@@ -929,13 +929,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { 145@@ -938,13 +938,16 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
145 if (gr) { 146 if (gr) {
146 _cleanup_free_ char *buffer = NULL; 147 _cleanup_free_ char *buffer = NULL;
147 bool incomplete = false; 148 bool incomplete = false;
@@ -155,10 +156,10 @@ index 2d480283d1..0d19764f2e 100644
155 iterator->synthesize_nobody = false; 156 iterator->synthesize_nobody = false;
156 157
157+#if ENABLE_GSHADOW 158+#if ENABLE_GSHADOW
158 r = nss_sgrp_for_group(gr, &sgrp, &buffer); 159 if (!FLAGS_SET(iterator->flags, USERDB_AVOID_SHADOW)) {
159 if (r < 0) { 160 r = nss_sgrp_for_group(gr, &sgrp, &buffer);
160 log_debug_errno(r, "Failed to acquire shadow entry for group %s, ignoring: %m", gr->gr_name); 161 if (r < 0) {
161@@ -943,6 +946,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) { 162@@ -957,6 +960,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
162 } 163 }
163 164
164 r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret); 165 r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
@@ -168,6 +169,3 @@ index 2d480283d1..0d19764f2e 100644
168 if (r < 0) 169 if (r < 0)
169 return r; 170 return r;
170 171
171--
1722.27.0
173
diff --git a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch b/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
deleted file mode 100644
index 94a4c307b5..0000000000
--- a/meta/recipes-core/systemd/systemd/0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch
+++ /dev/null
@@ -1,97 +0,0 @@
1From 297aba739cd689e4dc9f43bb1422ec88d481099a Mon Sep 17 00:00:00 2001
2From: Paul Gortmaker <paul.gortmaker@windriver.com>
3Date: Wed, 13 Jan 2021 21:09:33 +0000
4Subject: [PATCH] proc: dont trigger mount error with invalid options on old
5 kernels
6
7As of commit 4e39995371738b04d98d27b0d34ea8fe09ec9fab ("core: introduce
8ProtectProc= and ProcSubset= to expose hidepid= and subset= procfs
9mount options") kernels older than v5.8 generate multple warnings at
10boot, as seen in this Yocto build from today:
11
12 qemux86-64 login: root
13 [ 65.829009] proc: Bad value for 'hidepid'
14 root@qemux86-64:~# dmesg|grep proc:
15 [ 16.990706] proc: Bad value for 'hidepid'
16 [ 28.060178] proc: Bad value for 'hidepid'
17 [ 28.874229] proc: Bad value for 'hidepid'
18 [ 32.685107] proc: Bad value for 'hidepid'
19 [ 65.829009] proc: Bad value for 'hidepid'
20 root@qemux86-64:~#
21
22The systemd maintainer has dismissed this as something people should
23simply ignore[1] and has no interest in trying to avoid it by
24proactively checking the kernel version, so people can safely assume
25that they will never see this version check commit upstream.
26
27However, as can be seen above, telling people to just ignore it is not
28an option, as we'll end up answering the same question and dealing with
29the same bug over and over again.
30
31The commit that triggers this is systemd v247-rc1~378^2~3 -- so any
32systemd 247 and above plus kernel v5.7 or older will need this.
33
34[1] https://github.com/systemd/systemd/issues/16896
35
36Upstream-Status: Denied [https://github.com/systemd/systemd/issues/16896]
37Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
38
39Index: git/src/core/namespace.c
40===================================================================
41--- git.orig/src/core/namespace.c
42+++ git/src/core/namespace.c
43@@ -4,7 +4,9 @@
44 #include <linux/loop.h>
45 #include <sched.h>
46 #include <stdio.h>
47+#include <stdlib.h>
48 #include <sys/mount.h>
49+#include <sys/utsname.h>
50 #include <unistd.h>
51 #include <linux/fs.h>
52
53@@ -860,13 +862,32 @@ static int mount_sysfs(const MountEntry
54
55 static int mount_procfs(const MountEntry *m, const NamespaceInfo *ns_info) {
56 const char *entry_path;
57- int r;
58+ int r, major, minor;
59+ struct utsname uts;
60+ bool old = false;
61
62 assert(m);
63 assert(ns_info);
64
65 entry_path = mount_entry_path(m);
66
67+ /* If uname says that the system is older than v5.8, then the textual hidepid= stuff is not
68+ * supported by the kernel, and thus the per-instance hidepid= neither, which means we
69+ * really don't want to use it, since it would affect our host's /proc * mount. Hence let's
70+ * gracefully fallback to a classic, unrestricted version. */
71+
72+ r = uname(&uts);
73+ if (r < 0)
74+ return errno;
75+
76+ major = atoi(uts.release);
77+ minor = atoi(strchr(uts.release, '.') + 1);
78+
79+ if (major < 5 || (major == 5 && minor < 8)) {
80+ log_debug("Pre v5.8 kernel detected [v%d.%d] - skipping hidepid=", major, minor);
81+ old = true;
82+ }
83+
84 /* Mount a new instance, so that we get the one that matches our user namespace, if we are running in
85 * one. i.e we don't reuse existing mounts here under any condition, we want a new instance owned by
86 * our user namespace and with our hidepid= settings applied. Hence, let's get rid of everything
87@@ -875,8 +896,8 @@ static int mount_procfs(const MountEntry
88 (void) mkdir_p_label(entry_path, 0755);
89 (void) umount_recursive(entry_path, 0);
90
91- if (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
92- ns_info->proc_subset != PROC_SUBSET_ALL) {
93+ if (!old && (ns_info->protect_proc != PROTECT_PROC_DEFAULT ||
94+ ns_info->proc_subset != PROC_SUBSET_ALL)) {
95 _cleanup_free_ char *opts = NULL;
96
97 /* Starting with kernel 5.8 procfs' hidepid= logic is truly per-instance (previously it
diff --git a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
index bbee6e6b28..2289404d8d 100644
--- a/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
+++ b/meta/recipes-core/systemd/systemd/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -1,4 +1,4 @@
1From 7b32582c066549fea0f7180a6c575e7fa37a867f Mon Sep 17 00:00:00 2001 1From 366cd28f5f93ba7c861cd32a718251770d74830e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 12 Apr 2021 23:44:53 -0700 3Date: Mon, 12 Apr 2021 23:44:53 -0700
4Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl 4Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl
@@ -10,15 +10,16 @@ them here in case they are undefined
10Upstream-Status: Pending 10Upstream-Status: Pending
11 11
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
13--- 14---
14 src/basic/missing_syscall.h | 6 ++++++ 15 src/basic/missing_syscall.h | 6 ++++++
15 1 file changed, 6 insertions(+) 16 1 file changed, 6 insertions(+)
16 17
17diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h 18diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
18index 0594a1b930..495d161334 100644 19index 1384324804..0202d00372 100644
19--- a/src/basic/missing_syscall.h 20--- a/src/basic/missing_syscall.h
20+++ b/src/basic/missing_syscall.h 21+++ b/src/basic/missing_syscall.h
21@@ -15,6 +15,12 @@ 22@@ -20,6 +20,12 @@
22 #include <asm/sgidefs.h> 23 #include <asm/sgidefs.h>
23 #endif 24 #endif
24 25
@@ -28,9 +29,6 @@ index 0594a1b930..495d161334 100644
28+#define _MIPS_SIM_ABI64 3 29+#define _MIPS_SIM_ABI64 3
29+#endif 30+#endif
30+ 31+
31 #if defined(__x86_64__) && defined(__ILP32__) 32 #include "missing_keyctl.h"
32 # define systemd_SC_arch_bias(x) ((x) | /* __X32_SYSCALL_BIT */ 0x40000000) 33 #include "missing_stat.h"
33 #elif defined(__ia64__) 34 #include "missing_syscall_def.h"
34--
352.31.1
36
diff --git a/meta/recipes-core/systemd/systemd_247.6.bb b/meta/recipes-core/systemd/systemd_248.3.bb
index ce6ac7ebaa..b241330d96 100644
--- a/meta/recipes-core/systemd/systemd_247.6.bb
+++ b/meta/recipes-core/systemd/systemd_248.3.bb
@@ -14,7 +14,8 @@ inherit useradd pkgconfig meson perlnative update-rc.d update-alternatives qemu
14# that we don't build both udev and systemd in world builds. 14# that we don't build both udev and systemd in world builds.
15REQUIRED_DISTRO_FEATURES = "systemd" 15REQUIRED_DISTRO_FEATURES = "systemd"
16 16
17SRC_URI += "file://touchscreen.rules \ 17SRC_URI += " \
18 file://touchscreen.rules \
18 file://00-create-volatile.conf \ 19 file://00-create-volatile.conf \
19 ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \ 20 ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://org.freedesktop.hostname1_no_polkit.conf', '', d)} \
20 ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \ 21 ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'file://00-hostnamed-network-user.conf', '', d)} \
@@ -24,9 +25,6 @@ SRC_URI += "file://touchscreen.rules \
24 file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ 25 file://0001-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
25 file://0003-implment-systemd-sysv-install-for-OE.patch \ 26 file://0003-implment-systemd-sysv-install-for-OE.patch \
26 file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \ 27 file://0001-systemd.pc.in-use-ROOTPREFIX-without-suffixed-slash.patch \
27 file://0001-logind-Restore-chvt-as-non-root-user-without-polkit.patch \
28 file://0027-proc-dont-trigger-mount-error-with-invalid-options-o.patch \
29 file://0001-analyze-resolve-executable-path-if-it-is-relative.patch \
30 " 28 "
31 29
32# patches needed by musl 30# patches needed by musl
@@ -474,6 +472,7 @@ FILES_${PN}-container = "${sysconfdir}/dbus-1/system.d/org.freedesktop.import1.c
474 ${rootlibexecdir}/systemd/systemd-machined \ 472 ${rootlibexecdir}/systemd/systemd-machined \
475 ${rootlibexecdir}/systemd/systemd-pull \ 473 ${rootlibexecdir}/systemd/systemd-pull \
476 ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \ 474 ${exec_prefix}/lib/tmpfiles.d/systemd-nspawn.conf \
475 ${exec_prefix}/lib/tmpfiles.d/README \
477 ${systemd_system_unitdir}/systemd-nspawn@.service \ 476 ${systemd_system_unitdir}/systemd-nspawn@.service \
478 ${libdir}/libnss_mymachines.so.2 \ 477 ${libdir}/libnss_mymachines.so.2 \
479 ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \ 478 ${datadir}/dbus-1/system-services/org.freedesktop.import1.service \
@@ -605,6 +604,7 @@ FILES_${PN} = " ${base_bindir}/* \
605 ${exec_prefix}/lib/environment.d \ 604 ${exec_prefix}/lib/environment.d \
606 ${localstatedir} \ 605 ${localstatedir} \
607 ${rootlibexecdir}/modprobe.d/systemd.conf \ 606 ${rootlibexecdir}/modprobe.d/systemd.conf \
607 ${rootlibexecdir}/modprobe.d/README \
608 ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \ 608 ${datadir}/dbus-1/system.d/org.freedesktop.timedate1.conf \
609 ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \ 609 ${datadir}/dbus-1/system.d/org.freedesktop.locale1.conf \
610 ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \ 610 ${datadir}/dbus-1/system.d/org.freedesktop.network1.conf \
@@ -647,6 +647,7 @@ FILES_udev += "${base_sbindir}/udevd \
647 ${rootlibexecdir}/udev/ata_id \ 647 ${rootlibexecdir}/udev/ata_id \
648 ${rootlibexecdir}/udev/cdrom_id \ 648 ${rootlibexecdir}/udev/cdrom_id \
649 ${rootlibexecdir}/udev/collect \ 649 ${rootlibexecdir}/udev/collect \
650 ${rootlibexecdir}/udev/dmi_memory_id \
650 ${rootlibexecdir}/udev/fido_id \ 651 ${rootlibexecdir}/udev/fido_id \
651 ${rootlibexecdir}/udev/findkeyboards \ 652 ${rootlibexecdir}/udev/findkeyboards \
652 ${rootlibexecdir}/udev/keyboard-force-release.sh \ 653 ${rootlibexecdir}/udev/keyboard-force-release.sh \
@@ -674,6 +675,7 @@ FILES_udev += "${base_sbindir}/udevd \
674 ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \ 675 ${rootlibexecdir}/udev/rules.d/61-autosuspend-manual.rules \
675 ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \ 676 ${rootlibexecdir}/udev/rules.d/64-btrfs.rules \
676 ${rootlibexecdir}/udev/rules.d/70-joystick.rules \ 677 ${rootlibexecdir}/udev/rules.d/70-joystick.rules \
678 ${rootlibexecdir}/udev/rules.d/70-memory.rules \
677 ${rootlibexecdir}/udev/rules.d/70-mouse.rules \ 679 ${rootlibexecdir}/udev/rules.d/70-mouse.rules \
678 ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \ 680 ${rootlibexecdir}/udev/rules.d/70-power-switch.rules \
679 ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \ 681 ${rootlibexecdir}/udev/rules.d/70-touchpad.rules \
@@ -683,6 +685,7 @@ FILES_udev += "${base_sbindir}/udevd \
683 ${rootlibexecdir}/udev/rules.d/80-drivers.rules \ 685 ${rootlibexecdir}/udev/rules.d/80-drivers.rules \
684 ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \ 686 ${rootlibexecdir}/udev/rules.d/80-net-setup-link.rules \
685 ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \ 687 ${rootlibexecdir}/udev/rules.d/90-vconsole.rules \
688 ${rootlibexecdir}/udev/rules.d/README \
686 ${sysconfdir}/udev \ 689 ${sysconfdir}/udev \
687 ${sysconfdir}/init.d/systemd-udevd \ 690 ${sysconfdir}/init.d/systemd-udevd \
688 ${systemd_unitdir}/system/*udev* \ 691 ${systemd_unitdir}/system/*udev* \