From a1c9480ac9791eb961507b44b7c0813a9ffd4ca4 Mon Sep 17 00:00:00 2001 From: Huaxin Lu Date: Wed, 21 Aug 2024 14:51:53 +0800 Subject: [PATCH] fix(dracut-install): copy mode when use clone ioctl When use clone ioctl to copy a file, the mode of files are missing, which is inconsistent with the result by using the cp command. This commit add the process to set mode after clone_file(). Signed-off-by: Huaxin Lu --- src/install/dracut-install.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c index 291c70a..47b799e 100644 --- a/src/install/dracut-install.c +++ b/src/install/dracut-install.c @@ -363,6 +363,9 @@ static int cp(const char *src, const char *dst) log_info("Failed to chown %s: %m", dst); } + if (fchmod(dest_desc, sb.st_mode) != 0) + log_error("Failed to chown %s: %m", dst); + if (geteuid() == 0 && no_xattr == false) { if (copy_xattr(dest_desc, source_desc) != 0) log_error("Failed to copy xattr %s: %m", dst); -- 2.33.0