- Fix libmount --no-canonicalize regression (boo#1244251,

gh#util-linux/util-linux#3479,
  libmount-fix-no-canonicalize-regression.patch).

OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=592
This commit is contained in:
2025-06-12 10:05:25 +00:00
committed by Git OBS Bridge
parent bf27a97789
commit 526351100b
3 changed files with 51 additions and 0 deletions
+7
View File
@@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Jun 10 11:16:10 UTC 2025 - Nicolas Belouin <nicolas@belouin.fr>
- Fix libmount --no-canonicalize regression (boo#1244251,
gh#util-linux/util-linux#3479,
libmount-fix-no-canonicalize-regression.patch).
-------------------------------------------------------------------
Thu May 29 15:21:59 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
+2
View File
@@ -120,6 +120,8 @@ Patch8: util-linux-rename-common-symbols-2.patch
Patch9: util-linux-rename-common-symbols-3.patch
# PATCH-FIX-UPSTREAM util-linux-rename-common-symbols-4.patch gh#util-linux/util-linux#3603 sbrabec@suse.com -- Add ul_ prefix to functions with common names.
Patch10: util-linux-rename-common-symbols-4.patch
# PATCH-FIX-UPSTREAM libmount-fix-no-canonicalize-regression.patch boo1244251 gh#util-linux/util-linux#3479 -- libmount: fix --no-canonicalize regression
Patch11: libmount-fix-no-canonicalize-regression.patch
BuildRequires: audit-devel
BuildRequires: bc
BuildRequires: binutils-devel
@@ -0,0 +1,42 @@
From 7dbfe31a83f45d5aef2b508697e9511c569ffbc8 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Mon, 24 Mar 2025 14:31:05 +0100
Subject: [PATCH] libmount: fix --no-canonicalize regression
Fixes: https://github.com/util-linux/util-linux/issues/3474
Signed-off-by: Karel Zak <kzak@redhat.com>
---
libmount/src/context.c | 3 ---
sys-utils/mount.8.adoc | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/libmount/src/context.c b/libmount/src/context.c
index 0323cb23d..15a8ad3bb 100644
--- a/libmount/src/context.c
+++ b/libmount/src/context.c
@@ -530,9 +530,6 @@ int mnt_context_is_xnocanonicalize(
assert(cxt);
assert(type);
- if (mnt_context_is_nocanonicalize(cxt))
- return 1;
-
ol = mnt_context_get_optlist(cxt);
if (!ol)
return 0;
diff --git a/sys-utils/mount.8.adoc b/sys-utils/mount.8.adoc
index 4f23f8d1f..5103b91c5 100644
--- a/sys-utils/mount.8.adoc
+++ b/sys-utils/mount.8.adoc
@@ -756,7 +756,7 @@ Allow to make a target directory (mountpoint) if it does not exist yet. The opti
*X-mount.nocanonicalize*[**=**_type_]::
Allows disabling of canonicalization for mount source and target paths. By default, the `mount` command resolves all paths to their absolute paths without symlinks. However, this behavior may not be desired in certain situations, such as when binding a mount over a symlink, or a symlink over a directory or another symlink. The optional argument _type_ can be either "source" or "target" (mountpoint). If no _type_ is specified, then canonicalization is disabled for both types. This mount option does not affect the conversion of source tags (e.g. LABEL= or UUID=) and fstab processing.
+
-The command line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but it does not modify flags for open_tree syscalls.
+The command-line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but for backward compatibility, it does not modify open_tree syscall flags and does not allow the bind-mount over a symlink use case.
+
Note that *mount*(8) still sanitizes and canonicalizes the source and target paths specified on the command line by non-root users, regardless of the X-mount.nocanonicalize setting.
--
2.49.0