util-linux/mount-fix-use-option-owner-mount-failed.patch

40 lines
1.4 KiB
Diff
Raw Normal View History

From 0be7252a9227bf5f37d04d12c959cd317c0a0a18 Mon Sep 17 00:00:00 2001
From: "He, Xinzhe" <xzhe@linx-info.com>
Date: Wed, 12 Mar 2025 20:33:10 +0800
Subject: [PATCH] mount-fix-use-option-owner-mount-failed
Signed-off-by: He, Xinzhe <xzhe@linx-info.com>
---
libmount/src/context_mount.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
index 50e4a62..4eaeb31 100644
--- a/libmount/src/context_mount.c
+++ b/libmount/src/context_mount.c
@@ -202,10 +202,6 @@ static int evaluate_permissions(struct libmnt_context *cxt)
*
* The old deprecated way is to use mnt_optstr_get_flags().
*/
- if (user_flags & (MNT_MS_OWNER | MNT_MS_GROUP))
- rc = mnt_optlist_remove_flags(ol,
- MNT_MS_OWNER | MNT_MS_GROUP, cxt->map_userspace);
-
if (!rc && (user_flags & MNT_MS_OWNER))
rc = mnt_optlist_insert_flags(ol,
MS_OWNERSECURE, cxt->map_linux,
@@ -226,6 +222,10 @@ static int evaluate_permissions(struct libmnt_context *cxt)
rc = mnt_optlist_insert_flags(ol, MS_SECURE, cxt->map_linux,
MNT_MS_USERS, cxt->map_userspace);
+ if (user_flags & (MNT_MS_OWNER | MNT_MS_GROUP))
+ rc = mnt_optlist_remove_flags(ol,
+ MNT_MS_OWNER | MNT_MS_GROUP, cxt->map_userspace);
+
DBG(CXT, ul_debugobj(cxt, "perms: superuser [rc=%d]", rc));
if (rc)
return rc;
--
2.43.0