1 Star 0 Fork 9

rockerzhu/systemd

forked from OpenCloudOS Stream/systemd 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
fix-unsupport-memory-recursiveprot.patch 1.31 KB
一键复制 编辑 原始数据 按行查看 历史
nilusyi 提交于 2023-06-01 16:43 . update
diff -uprN systemd-251.orig/src/shared/mount-setup.c systemd-251/src/shared/mount-setup.c
--- systemd-251.orig/src/shared/mount-setup.c 2022-05-21 21:23:41.000000000 +0800
+++ systemd-251/src/shared/mount-setup.c 2022-12-26 15:26:59.412847379 +0800
@@ -5,6 +5,7 @@
#include <sys/mount.h>
#include <sys/statvfs.h>
#include <unistd.h>
+#include <sys/utsname.h>
#include "alloc-util.h"
#include "bus-util.h"
@@ -146,6 +147,23 @@ bool mount_point_ignore(const char *path
return false;
}
+static bool is_old_kernel(void) {
+ bool old = false;
+ struct utsname uts;
+ int r = 0;
+
+ r = uname(&uts);
+ if (r < 0)
+ return old;
+
+ if (strverscmp(uts.release, "5.7") < 0) {
+ log_debug("Pre v5.7 kernel detected [v%s] - skipping memory_recursiveprot", uts.release);
+ old = true;
+ }
+
+ return old;
+}
+
static int mount_one(const MountPoint *p, bool relabel) {
int r, priority;
@@ -153,6 +171,10 @@ static int mount_one(const MountPoint *p
priority = (p->mode & MNT_FATAL) ? LOG_ERR : LOG_DEBUG;
+ if (streq(p->what, "cgroup2") && p->options && streq(p->options, "nsdelegate,memory_recursiveprot") && is_old_kernel()) {
+ return 0;
+ }
+
if (p->condition_fn && !p->condition_fn())
return 0;
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/rockerzhu/systemd.git
[email protected]:rockerzhu/systemd.git
rockerzhu
systemd
systemd
master

搜索帮助