summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch')
-rw-r--r--meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch142
1 files changed, 67 insertions, 75 deletions
diff --git a/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch
index 46267a5ada..ef6b5342ca 100644
--- a/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch
+++ b/meta/recipes-core/systemd/systemd/0021-do-not-disable-buffer-in-writing-files.patch
@@ -18,34 +18,35 @@ 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[rebased for systemd 254]
21--- 22---
22 src/basic/cgroup-util.c | 12 ++++++------ 23 src/basic/cgroup-util.c | 12 ++++++------
23 src/basic/namespace-util.c | 4 ++-- 24 src/basic/namespace-util.c | 4 ++--
24 src/basic/procfs-util.c | 4 ++-- 25 src/basic/procfs-util.c | 4 ++--
25 src/basic/sysctl-util.c | 2 +- 26 src/basic/sysctl-util.c | 2 +-
26 src/binfmt/binfmt.c | 6 +++--- 27 src/binfmt/binfmt.c | 6 +++---
27 src/core/cgroup.c | 2 +- 28 src/core/cgroup.c | 2 +-
28 src/core/main.c | 2 +- 29 src/core/main.c | 2 +-
29 src/core/smack-setup.c | 8 ++++---- 30 src/core/smack-setup.c | 8 ++++----
30 src/hibernate-resume/hibernate-resume.c | 2 +- 31 src/home/homework.c | 2 +-
31 src/home/homework.c | 2 +- 32 src/libsystemd/sd-device/sd-device.c | 2 +-
32 src/libsystemd/sd-device/sd-device.c | 2 +- 33 src/nspawn/nspawn-cgroup.c | 2 +-
33 src/nspawn/nspawn-cgroup.c | 2 +- 34 src/nspawn/nspawn.c | 6 +++---
34 src/nspawn/nspawn.c | 6 +++--- 35 src/shared/binfmt-util.c | 2 +-
35 src/shared/binfmt-util.c | 2 +- 36 src/shared/cgroup-setup.c | 4 ++--
36 src/shared/cgroup-setup.c | 4 ++-- 37 src/shared/coredump-util.c | 2 +-
37 src/shared/coredump-util.c | 2 +- 38 src/shared/sleep-util.c | 4 ++--
38 src/shared/smack-util.c | 2 +- 39 src/shared/smack-util.c | 2 +-
39 src/sleep/sleep.c | 8 ++++---- 40 src/sleep/sleep.c | 4 ++--
40 src/udev/udev-rules.c | 1 - 41 src/udev/udev-rules.c | 1 -
41 src/vconsole/vconsole-setup.c | 2 +- 42 src/vconsole/vconsole-setup.c | 2 +-
42 20 files changed, 37 insertions(+), 38 deletions(-) 43 20 files changed, 36 insertions(+), 37 deletions(-)
43 44
44diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c 45diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
45index 11b4375ed5..7d81a6007f 100644 46index 11b4375ed5..7d81a6007f 100644
46--- a/src/basic/cgroup-util.c 47--- a/src/basic/cgroup-util.c
47+++ b/src/basic/cgroup-util.c 48+++ b/src/basic/cgroup-util.c
48@@ -399,7 +399,7 @@ int cg_kill_kernel_sigkill(const char *controller, const char *path) { 49@@ -400,7 +400,7 @@ int cg_kill_kernel_sigkill(const char *controller, const char *path) {
49 if (r < 0) 50 if (r < 0)
50 return r; 51 return r;
51 52
@@ -54,7 +55,7 @@ index 11b4375ed5..7d81a6007f 100644
54 if (r < 0) 55 if (r < 0)
55 return r; 56 return r;
56 57
57@@ -805,7 +805,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { 58@@ -806,7 +806,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
58 59
59 sc = strstrip(contents); 60 sc = strstrip(contents);
60 if (isempty(sc)) { 61 if (isempty(sc)) {
@@ -63,7 +64,7 @@ index 11b4375ed5..7d81a6007f 100644
63 if (r < 0) 64 if (r < 0)
64 return r; 65 return r;
65 } else if (!path_equal(sc, agent)) 66 } else if (!path_equal(sc, agent))
66@@ -823,7 +823,7 @@ int cg_install_release_agent(const char *controller, const char *agent) { 67@@ -824,7 +824,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
67 68
68 sc = strstrip(contents); 69 sc = strstrip(contents);
69 if (streq(sc, "0")) { 70 if (streq(sc, "0")) {
@@ -72,7 +73,7 @@ index 11b4375ed5..7d81a6007f 100644
72 if (r < 0) 73 if (r < 0)
73 return r; 74 return r;
74 75
75@@ -850,7 +850,7 @@ int cg_uninstall_release_agent(const char *controller) { 76@@ -851,7 +851,7 @@ int cg_uninstall_release_agent(const char *controller) {
76 if (r < 0) 77 if (r < 0)
77 return r; 78 return r;
78 79
@@ -81,7 +82,7 @@ index 11b4375ed5..7d81a6007f 100644
81 if (r < 0) 82 if (r < 0)
82 return r; 83 return r;
83 84
84@@ -860,7 +860,7 @@ int cg_uninstall_release_agent(const char *controller) { 85@@ -861,7 +861,7 @@ int cg_uninstall_release_agent(const char *controller) {
85 if (r < 0) 86 if (r < 0)
86 return r; 87 return r;
87 88
@@ -90,7 +91,7 @@ index 11b4375ed5..7d81a6007f 100644
90 if (r < 0) 91 if (r < 0)
91 return r; 92 return r;
92 93
93@@ -1752,7 +1752,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri 94@@ -1764,7 +1764,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
94 if (r < 0) 95 if (r < 0)
95 return r; 96 return r;
96 97
@@ -103,7 +104,7 @@ diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c
103index f5c0e04cec..272b920022 100644 104index f5c0e04cec..272b920022 100644
104--- a/src/basic/namespace-util.c 105--- a/src/basic/namespace-util.c
105+++ b/src/basic/namespace-util.c 106+++ b/src/basic/namespace-util.c
106@@ -220,12 +220,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) { 107@@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
107 freeze(); 108 freeze();
108 109
109 xsprintf(path, "/proc/" PID_FMT "/uid_map", pid); 110 xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
@@ -186,7 +187,7 @@ diff --git a/src/core/cgroup.c b/src/core/cgroup.c
186index 4cac3f6a89..bebe2cd120 100644 187index 4cac3f6a89..bebe2cd120 100644
187--- a/src/core/cgroup.c 188--- a/src/core/cgroup.c
188+++ b/src/core/cgroup.c 189+++ b/src/core/cgroup.c
189@@ -4267,7 +4267,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) { 190@@ -4349,7 +4349,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
190 u->freezer_state = FREEZER_THAWING; 191 u->freezer_state = FREEZER_THAWING;
191 } 192 }
192 193
@@ -199,7 +200,7 @@ diff --git a/src/core/main.c b/src/core/main.c
199index c0b8126d96..fe676320ba 100644 200index c0b8126d96..fe676320ba 100644
200--- a/src/core/main.c 201--- a/src/core/main.c
201+++ b/src/core/main.c 202+++ b/src/core/main.c
202@@ -1716,7 +1716,7 @@ static void initialize_core_pattern(bool skip_setup) { 203@@ -1737,7 +1737,7 @@ static void initialize_core_pattern(bool skip_setup) {
203 if (getpid_cached() != 1) 204 if (getpid_cached() != 1)
204 return; 205 return;
205 206
@@ -234,19 +235,6 @@ index bcaa237c8d..4032bde19e 100644
234 if (r < 0) 235 if (r < 0)
235 log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m"); 236 log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
236 #endif 237 #endif
237diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
238index 9a9df5d22f..75ddec881a 100644
239--- a/src/hibernate-resume/hibernate-resume.c
240+++ b/src/hibernate-resume/hibernate-resume.c
241@@ -40,7 +40,7 @@ int main(int argc, char *argv[]) {
242 return EXIT_FAILURE;
243 }
244
245- r = write_string_file("/sys/power/resume", FORMAT_DEVNUM(st.st_rdev), WRITE_STRING_FILE_DISABLE_BUFFER);
246+ r = write_string_file("/sys/power/resume", FORMAT_DEVNUM(st.st_rdev), 0);
247 if (r < 0) {
248 log_error_errno(r, "Failed to write '" DEVNUM_FORMAT_STR "' to /sys/power/resume: %m", DEVNUM_FORMAT_VAL(st.st_rdev));
249 return EXIT_FAILURE;
250diff --git a/src/home/homework.c b/src/home/homework.c 238diff --git a/src/home/homework.c b/src/home/homework.c
251index 28907386a4..f9e45349a7 100644 239index 28907386a4..f9e45349a7 100644
252--- a/src/home/homework.c 240--- a/src/home/homework.c
@@ -264,7 +252,7 @@ diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-
264index 8c65ee3469..153edab081 100644 252index 8c65ee3469..153edab081 100644
265--- a/src/libsystemd/sd-device/sd-device.c 253--- a/src/libsystemd/sd-device/sd-device.c
266+++ b/src/libsystemd/sd-device/sd-device.c 254+++ b/src/libsystemd/sd-device/sd-device.c
267@@ -2481,7 +2481,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, 255@@ -2515,7 +2515,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
268 if (!value) 256 if (!value)
269 return -ENOMEM; 257 return -ENOMEM;
270 258
@@ -290,7 +278,7 @@ diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
290index 36d336dfc8..8c5c69596b 100644 278index 36d336dfc8..8c5c69596b 100644
291--- a/src/nspawn/nspawn.c 279--- a/src/nspawn/nspawn.c
292+++ b/src/nspawn/nspawn.c 280+++ b/src/nspawn/nspawn.c
293@@ -2771,7 +2771,7 @@ static int reset_audit_loginuid(void) { 281@@ -2774,7 +2774,7 @@ static int reset_audit_loginuid(void) {
294 if (streq(p, "4294967295")) 282 if (streq(p, "4294967295"))
295 return 0; 283 return 0;
296 284
@@ -299,7 +287,7 @@ index 36d336dfc8..8c5c69596b 100644
299 if (r < 0) { 287 if (r < 0) {
300 log_error_errno(r, 288 log_error_errno(r,
301 "Failed to reset audit login UID. This probably means that your kernel is too\n" 289 "Failed to reset audit login UID. This probably means that your kernel is too\n"
302@@ -4211,7 +4211,7 @@ static int setup_uid_map( 290@@ -4214,7 +4214,7 @@ static int setup_uid_map(
303 return log_oom(); 291 return log_oom();
304 292
305 xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); 293 xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
@@ -308,7 +296,7 @@ index 36d336dfc8..8c5c69596b 100644
308 if (r < 0) 296 if (r < 0)
309 return log_error_errno(r, "Failed to write UID map: %m"); 297 return log_error_errno(r, "Failed to write UID map: %m");
310 298
311@@ -4221,7 +4221,7 @@ static int setup_uid_map( 299@@ -4224,7 +4224,7 @@ static int setup_uid_map(
312 return log_oom(); 300 return log_oom();
313 301
314 xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); 302 xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
@@ -334,7 +322,7 @@ diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c
334index 2ea83f05d3..8626bb184c 100644 322index 2ea83f05d3..8626bb184c 100644
335--- a/src/shared/cgroup-setup.c 323--- a/src/shared/cgroup-setup.c
336+++ b/src/shared/cgroup-setup.c 324+++ b/src/shared/cgroup-setup.c
337@@ -350,7 +350,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) { 325@@ -351,7 +351,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
338 326
339 xsprintf(c, PID_FMT "\n", pid); 327 xsprintf(c, PID_FMT "\n", pid);
340 328
@@ -343,7 +331,7 @@ index 2ea83f05d3..8626bb184c 100644
343 if (r == -EOPNOTSUPP && cg_is_threaded(controller, path) > 0) 331 if (r == -EOPNOTSUPP && cg_is_threaded(controller, path) > 0)
344 /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */ 332 /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
345 return -EUCLEAN; 333 return -EUCLEAN;
346@@ -887,7 +887,7 @@ int cg_enable_everywhere( 334@@ -964,7 +964,7 @@ int cg_enable_everywhere(
347 return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p); 335 return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
348 } 336 }
349 337
@@ -356,8 +344,8 @@ diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c
356index 3d2f179049..c1b6c170ac 100644 344index 3d2f179049..c1b6c170ac 100644
357--- a/src/shared/coredump-util.c 345--- a/src/shared/coredump-util.c
358+++ b/src/shared/coredump-util.c 346+++ b/src/shared/coredump-util.c
359@@ -71,7 +71,7 @@ int set_coredump_filter(uint64_t value) { 347@@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) {
360 sprintf(t, "0x%"PRIx64, value); 348 xsprintf(t, "0x%"PRIx64, value);
361 349
362 return write_string_file("/proc/self/coredump_filter", t, 350 return write_string_file("/proc/self/coredump_filter", t,
363- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); 351- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
@@ -365,11 +353,33 @@ index 3d2f179049..c1b6c170ac 100644
365 } 353 }
366 354
367 /* Turn off core dumps but only if we're running outside of a container. */ 355 /* Turn off core dumps but only if we're running outside of a container. */
356diff --git a/src/shared/sleep-util.c b/src/shared/sleep-util.c
357index d7277399fb..d06d636fcc 100644
358--- a/src/shared/sleep-util.c
359+++ b/src/shared/sleep-util.c
360@@ -1044,7 +1044,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
361
362 /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so
363 * fail gracefully if it doesn't exist and we're only overwriting it with 0. */
364- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
365+ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
366 if (r == -ENOENT) {
367 if (offset != 0)
368 return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
369@@ -1060,7 +1060,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
370 log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.",
371 offset_str, device);
372
373- r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER);
374+ r = write_string_file("/sys/power/resume", devno_str, 0);
375 if (r < 0)
376 return log_error_errno(r,
377 "Failed to write device '%s' (%s) to /sys/power/resume: %m",
368diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c 378diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c
369index b3b5c905ad..bbfa1973fd 100644 379index b3b5c905ad..bbfa1973fd 100644
370--- a/src/shared/smack-util.c 380--- a/src/shared/smack-util.c
371+++ b/src/shared/smack-util.c 381+++ b/src/shared/smack-util.c
372@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) { 382@@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
373 return 0; 383 return 0;
374 384
375 p = procfs_file_alloca(pid, "attr/current"); 385 p = procfs_file_alloca(pid, "attr/current");
@@ -382,25 +392,7 @@ diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
382index 765dd4974f..cd6afb001b 100644 392index 765dd4974f..cd6afb001b 100644
383--- a/src/sleep/sleep.c 393--- a/src/sleep/sleep.c
384+++ b/src/sleep/sleep.c 394+++ b/src/sleep/sleep.c
385@@ -50,7 +50,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca 395@@ -139,7 +139,7 @@ static int write_mode(char **modes) {
386 assert(hibernate_location->swap);
387
388 xsprintf(resume_str, "%u:%u", major(hibernate_location->devno), minor(hibernate_location->devno));
389- r = write_string_file("/sys/power/resume", resume_str, WRITE_STRING_FILE_DISABLE_BUFFER);
390+ r = write_string_file("/sys/power/resume", resume_str, 0);
391 if (r < 0)
392 return log_debug_errno(r, "Failed to write partition device to /sys/power/resume for '%s': '%s': %m",
393 hibernate_location->swap->device, resume_str);
394@@ -77,7 +77,7 @@ static int write_hibernate_location_info(const HibernateLocation *hibernate_loca
395 }
396
397 xsprintf(offset_str, "%" PRIu64, hibernate_location->offset);
398- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
399+ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
400 if (r < 0)
401 return log_debug_errno(r, "Failed to write swap file offset to /sys/power/resume_offset for '%s': '%s': %m",
402 hibernate_location->swap->device, offset_str);
403@@ -93,7 +93,7 @@ static int write_mode(char **modes) {
404 STRV_FOREACH(mode, modes) { 396 STRV_FOREACH(mode, modes) {
405 int k; 397 int k;
406 398
@@ -409,7 +401,7 @@ index 765dd4974f..cd6afb001b 100644
409 if (k >= 0) 401 if (k >= 0)
410 return 0; 402 return 0;
411 403
412@@ -114,7 +114,7 @@ static int write_state(FILE **f, char **states) { 404@@ -160,7 +160,7 @@ static int write_state(FILE **f, char **states) {
413 STRV_FOREACH(state, states) { 405 STRV_FOREACH(state, states) {
414 int k; 406 int k;
415 407
@@ -422,8 +414,8 @@ diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
422index 0ce79f815c..28aab475d0 100644 414index 0ce79f815c..28aab475d0 100644
423--- a/src/udev/udev-rules.c 415--- a/src/udev/udev-rules.c
424+++ b/src/udev/udev-rules.c 416+++ b/src/udev/udev-rules.c
425@@ -2357,7 +2357,6 @@ static int udev_rule_apply_token_to_event( 417@@ -2634,7 +2634,6 @@ static int udev_rule_apply_token_to_event(
426 log_rule_debug(dev, rules, "ATTR '%s' writing '%s'", buf, value); 418 log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value);
427 r = write_string_file(buf, value, 419 r = write_string_file(buf, value,
428 WRITE_STRING_FILE_VERIFY_ON_FAILURE | 420 WRITE_STRING_FILE_VERIFY_ON_FAILURE |
429- WRITE_STRING_FILE_DISABLE_BUFFER | 421- WRITE_STRING_FILE_DISABLE_BUFFER |
@@ -434,7 +426,7 @@ diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
434index 7d3e9db73f..2d4a0c4c9d 100644 426index 7d3e9db73f..2d4a0c4c9d 100644
435--- a/src/vconsole/vconsole-setup.c 427--- a/src/vconsole/vconsole-setup.c
436+++ b/src/vconsole/vconsole-setup.c 428+++ b/src/vconsole/vconsole-setup.c
437@@ -108,7 +108,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) { 429@@ -259,7 +259,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
438 static int toggle_utf8_sysfs(bool utf8) { 430 static int toggle_utf8_sysfs(bool utf8) {
439 int r; 431 int r;
440 432