From 67a317bc9868923a1dc98c0d9e9cfc8506aceae6 Mon Sep 17 00:00:00 2001 From: Linux_zhang Date: Wed, 23 Apr 2025 11:00:58 +0800 Subject: [PATCH] sync branch patches (cherry picked from commit a9e4932872a7d1948b83b70cc40aa9cef21a296d) --- ...-formatting-on-the-keyctl.1-man-page.patch | 42 +++++++++++ ...at-specifier-for-pointer-subtraction.patch | 25 +++++++ ...t-expectation-based-on-kernel-config.patch | 74 +++++++++++++++++++ ...-a-pkgconfig-file-with-libkeyutils.a.patch | 25 +++++++ keyutils.spec | 18 ++++- 5 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 backport-fix-a-formatting-on-the-keyctl.1-man-page.patch create mode 100644 backport-fix-format-specifier-for-pointer-subtraction.patch create mode 100644 backport-fix-test-expectation-based-on-kernel-config.patch create mode 100644 backport-provide-a-pkgconfig-file-with-libkeyutils.a.patch diff --git a/backport-fix-a-formatting-on-the-keyctl.1-man-page.patch b/backport-fix-a-formatting-on-the-keyctl.1-man-page.patch new file mode 100644 index 0000000..4ad6589 --- /dev/null +++ b/backport-fix-a-formatting-on-the-keyctl.1-man-page.patch @@ -0,0 +1,42 @@ +From c776445b5c5cb7116cf678182a2777d69eaf3276 Mon Sep 17 00:00:00 2001 +From: jiawenhao +Date: Thu, 17 Apr 2025 17:10:19 +0800 +Subject: [PATCH] fix-a-formatting-on-the-keyctl.1-man-page + +--- + man/keyctl.1 | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/man/keyctl.1 b/man/keyctl.1 +index 2343762..c1d067f 100644 +--- a/man/keyctl.1 ++++ b/man/keyctl.1 +@@ -302,7 +302,7 @@ The \fBpadd\fR variant of the command reads the data from stdin rather than + taking it from the command line: + + .RS +-.fi ++.nf + $ echo \-n stuff | keyctl padd user mykey @u + 26 + .fi +@@ -499,6 +499,7 @@ reject all links. + .RS + .nf + $ keyctl restrict_keyring $1 asymmetric builtin_trusted ++.fi + .RE + .SS Read a key + \fBkeyctl read\fR +@@ -522,7 +523,7 @@ $ keyctl read 26 + $ keyctl print 26 + b + $ keyctl pipe 26 +-$ ++b$ + .fi + .RE + .SS List a keyring +-- +2.27.0 + diff --git a/backport-fix-format-specifier-for-pointer-subtraction.patch b/backport-fix-format-specifier-for-pointer-subtraction.patch new file mode 100644 index 0000000..f6027db --- /dev/null +++ b/backport-fix-format-specifier-for-pointer-subtraction.patch @@ -0,0 +1,25 @@ +From 8de171d78e8ed4ec757e984a3832566c840c1928 Mon Sep 17 00:00:00 2001 +From: jiawenhao +Date: Thu, 17 Apr 2025 18:04:29 +0800 +Subject: [PATCH] fix-format-specifier-for-pointer-subtraction + +--- + keyctl_watch.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/keyctl_watch.c b/keyctl_watch.c +index a70a19a..1436c08 100644 +--- a/keyctl_watch.c ++++ b/keyctl_watch.c +@@ -179,7 +179,7 @@ int consumer(FILE *log, FILE *gc, int fd) + memcpy(&n, p, largest); + + if (debug) +- fprintf(stderr, "NOTIFY[%03zx]: ty=%06x sy=%02x i=%08x\n", ++ fprintf(stderr, "NOTIFY[%03tx]: ty=%06x sy=%02x i=%08x\n", + p - buffer, n.n.type, n.n.subtype, n.n.info); + + len = n.n.info & WATCH_INFO_LENGTH; +-- +2.27.0 + diff --git a/backport-fix-test-expectation-based-on-kernel-config.patch b/backport-fix-test-expectation-based-on-kernel-config.patch new file mode 100644 index 0000000..26a09eb --- /dev/null +++ b/backport-fix-test-expectation-based-on-kernel-config.patch @@ -0,0 +1,74 @@ +From 78612517fb54d1e104556e43a65f0111caac7834 Mon Sep 17 00:00:00 2001 +From: jiawenhao +Date: Thu, 17 Apr 2025 19:33:12 +0800 +Subject: [PATCH] fix-test-expectation-based-on-kernel-config + +--- + tests/features/builtin_trusted/runtest.sh | 12 ++++++++++-- + tests/prepare.inc.sh | 20 ++++++++++++++++++++ + 2 files changed, 30 insertions(+), 2 deletions(-) + +diff --git a/tests/features/builtin_trusted/runtest.sh b/tests/features/builtin_trusted/runtest.sh +index 27910b5..6bd073b 100644 +--- a/tests/features/builtin_trusted/runtest.sh ++++ b/tests/features/builtin_trusted/runtest.sh +@@ -33,7 +33,11 @@ expect_error EACCES + create_key --fail user a a $stk + expect_error EOPNOTSUPP + create_key --fail user a a $blk +-expect_error EACCES ++if has_kernel_config "CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE"; then ++ expect_error EOPNOTSUPP ++else ++ expect_error EACCES ++fi + + # Try adding a key to the keyrings + marker "TRY ADDING ASYMMETRIC KEYS" +@@ -89,7 +93,11 @@ expect_error EACCES + create_key --fail -x asymmetric "" "$x509" $stk + expect_error ENOKEY + create_key --fail -x asymmetric "" "$x509" $blk +-expect_error EACCES ++if has_kernel_config "CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE"; then ++ expect_error EOPNOTSUPP ++else ++ expect_error EACCES ++fi + + echo "++++ FINISHED TEST: $result" >>$OUTPUTFILE + +diff --git a/tests/prepare.inc.sh b/tests/prepare.inc.sh +index 0b66237..4033d69 100644 +--- a/tests/prepare.inc.sh ++++ b/tests/prepare.inc.sh +@@ -4,6 +4,26 @@ + includes=${BASH_SOURCE[0]} + includes=${includes%/*}/ + ++# Check if currently running kernel has option set ++function has_kernel_config() ++{ ++ local option=$1 ++ local uname=$(uname -r) ++ local config_list="$KCONFIG_PATH ++ /lib/modules/$uname/build/.config ++ /boot/config-$uname ++ /lib/kernel/config-$uname" ++ ++ for config in $config_list; do ++ [ ! -f $config ] && continue ++ grep -qE "^${option}=[my]" $config ++ return ++ done ++ ++ echo "Failed to find kernel configuration file" ++ return false ++} ++ + # --- need to run in own session keyring + watch_fd=0 + if [ "$1" != "--inside-test-session" ] +-- +2.27.0 + diff --git a/backport-provide-a-pkgconfig-file-with-libkeyutils.a.patch b/backport-provide-a-pkgconfig-file-with-libkeyutils.a.patch new file mode 100644 index 0000000..4da8db4 --- /dev/null +++ b/backport-provide-a-pkgconfig-file-with-libkeyutils.a.patch @@ -0,0 +1,25 @@ +From 2faeb864575e17704be5e9a4bd697588286d800a Mon Sep 17 00:00:00 2001 +From: jiawenhao +Date: Thu, 17 Apr 2025 18:59:59 +0800 +Subject: [PATCH] provide-a-pkgconfig-file-with-libkeyutils.a + +--- + Makefile | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Makefile b/Makefile +index 599b145..d8d4ee3 100644 +--- a/Makefile ++++ b/Makefile +@@ -201,6 +201,8 @@ ifeq ($(NO_SOLIB),0) + $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) + mkdir -p $(DESTDIR)$(USRLIBDIR) + $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) ++endif ++ifneq ($(filter 0, $(NO_ARLIB) $(NO_SOLIB)),) + sed \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@prefix\@,$(PREFIX),g' \ +-- +2.27.0 + diff --git a/keyutils.spec b/keyutils.spec index cf86388..4412b9e 100644 --- a/keyutils.spec +++ b/keyutils.spec @@ -1,6 +1,6 @@ Name: keyutils Version: 1.6.3 -Release: 5 +Release: 9 Summary: Utilities of Linux Key Management License: GPLv2+ and LGPLv2+ @@ -8,6 +8,10 @@ Url: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git Source0: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/keyutils-%{version}.tar.gz Patch9000: bugfix-fix-argv-string-out-of-bounds.patch +Patch9001: backport-fix-a-formatting-on-the-keyctl.1-man-page.patch +Patch9002: backport-fix-format-specifier-for-pointer-subtraction.patch +Patch9003: backport-provide-a-pkgconfig-file-with-libkeyutils.a.patch +Patch9004: backport-fix-test-expectation-based-on-kernel-config.patch BuildRequires: gcc gcc-c++ BuildRequires: glibc-kernheaders >= 2.4-9.1.92 @@ -96,6 +100,18 @@ make \ %{_mandir}/man*/* %changelog +* Fri Apr 18 2025 jiawenhao - 1.6.3-9 +- DESC: Fix test expectation based on kernel config + +* Fri Apr 18 2025 jiawenhao - 1.6.3-8 +- DESC: Provide a pkgconfig file with libkeyutils.a + +* Fri Apr 18 2025 jiawenhao - 1.6.3-7 +- DESC: Fix format specifier for pointer subtraction + +* Thu Apr 17 2025 jiawenhao - 1.6.3-6 +- DESC: fix a formatting on the keyctl.1 man page + * Fri Aug 05 2022 xuraoqing - 1.6.3-5 - DESC: fixed incorrect changelog time -- Gitee