1 Star 0 Fork 98

misaka00251/systemd

forked from src-openEuler/systemd 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
backport-sysusers-add-fsync-for-passwd-24324.patch 1.42 KB
一键复制 编辑 原始数据 按行查看 历史
From 3982142116871b3eead4d5833d898f077e7942d4 Mon Sep 17 00:00:00 2001
From: Avram Lubkin <avylove@rockhopper.net>
Date: Tue, 16 Aug 2022 08:51:21 -0400
Subject: [PATCH] sysusers: add fsync for passwd (#24324)
https://github.com/systemd/systemd/pull/6636 added `fsync()` when
temporary shadow, group, and gshadow files are created, but it was
not added for passwd. As far as I can tell, this seems to have been
an oversight. I'm seeing real world issues where a blank /etc/passwd
file is being created if a machine loses power early in the boot process.
(cherry picked from commit 19193b489841a7bcccda7122ac0849cf6efe59fd)
(cherry picked from commit 9f2f3911539c453037aecd51f875dfd75ed04113)
(cherry picked from commit 7ca021b87e92a4e775af22c04a2ab2bf404ae313)
Conflict:NA
Reference:https://github.com/systemd/systemd/commit/3982142116871b3eead4d5833d898f077e7942d4
---
src/sysusers/sysusers.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/sysusers/sysusers.c b/src/sysusers/sysusers.c
index 669efe4a1d..055eb6775e 100644
--- a/src/sysusers/sysusers.c
+++ b/src/sysusers/sysusers.c
@@ -487,7 +487,7 @@ static int write_temporary_passwd(const char *passwd_path, FILE **tmpfile, char
break;
}
- r = fflush_and_check(passwd);
+ r = fflush_sync_and_check(passwd);
if (r < 0)
return log_debug_errno(r, "Failed to flush %s: %m", passwd_tmp);
--
2.27.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/misaka00251/systemd.git
git@gitee.com:misaka00251/systemd.git
misaka00251
systemd
systemd
master

搜索帮助