From 7ab8c026327abcfc9b8b20f9c09f34ef6f6ff010 Mon Sep 17 00:00:00 2001 From: yunjia_w Date: Mon, 3 Jul 2023 19:42:08 +0800 Subject: [PATCH] VFS_CAP_U32 can not ensure that XATTR_NAME_CAPS is defined, and failed to build Signed-off-by: yunjia_w --- ...Ensure-the-XATTR_NAME_CAPS-is-define.patch | 38 +++++++++++++++++++ libcap.spec | 6 ++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 backport-libcap-Ensure-the-XATTR_NAME_CAPS-is-define.patch diff --git a/backport-libcap-Ensure-the-XATTR_NAME_CAPS-is-define.patch b/backport-libcap-Ensure-the-XATTR_NAME_CAPS-is-define.patch new file mode 100644 index 0000000..7c60c82 --- /dev/null +++ b/backport-libcap-Ensure-the-XATTR_NAME_CAPS-is-define.patch @@ -0,0 +1,38 @@ +From 41997af6891658ab511c014e20f7846945c11742 Mon Sep 17 00:00:00 2001 +From: Roy Li +Date: Mon, 9 Aug 2021 17:32:20 +0800 +Subject: [PATCH] [Backport] libcap: Ensure the XATTR_NAME_CAPS is defined when + it is used + +VFS_CAP_U32 can not ensure that XATTR_NAME_CAPS is defined, and failed to build +libcap-native in old release, like CentOS release 6.7 (Final), with the blow +error: + cap_file.c: In function ‘cap_get_fd’: + cap_file.c:199: error: ‘XATTR_NAME_CAPS’ undeclared (first use in this function) + cap_file.c:199: error: (Each undeclared identifier is reported only once +Reference: http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-support/libcap/files/0001-ensure-the-XATTR_NAME_CAPS-is-defined-when-it-is-use.patch + +Signed-off-by: Roy Li +Signed-off-by: lichi +Signed-off-by: luchangkun +Signed-off-by: huangyaojun +--- + libcap/cap_file.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcap/cap_file.c b/libcap/cap_file.c +index 4178705..1e6a28e 100644 +--- a/libcap/cap_file.c ++++ b/libcap/cap_file.c +@@ -45,7 +45,7 @@ extern int fremovexattr(int, const char *); + + #include "libcap.h" + +-#ifdef VFS_CAP_U32 ++#if defined (VFS_CAP_U32) && defined (XATTR_NAME_CAPS) + + #if VFS_CAP_U32 != __CAP_BLKS + # error VFS representation of capabilities is not the same size as kernel +-- +2.27.0 + diff --git a/libcap.spec b/libcap.spec index fee4743..da7355c 100644 --- a/libcap.spec +++ b/libcap.spec @@ -1,6 +1,6 @@ Name: libcap Version: 2.66 -Release: 2 +Release: 3 Summary: A library for getting and setting POSIX.1e draft 15 capabilities License: GPLv2 URL: https://sites.google.com/site/fullycapable @@ -10,6 +10,7 @@ Patch0: libcap-buildflags.patch Patch1: backport-Correct-the-check-of-pthread_create-s-return-value.patch Patch2: backport-Large-strings-can-confuse-libcap-s-internal-strdup-c.patch Patch3: backport-There-was-a-small-memory-leak-in-pam_cap.so-when-lib.patch +Patch4: backport-libcap-Ensure-the-XATTR_NAME_CAPS-is-define.patch BuildRequires: libattr-devel pam-devel perl-interpreter gcc @@ -73,6 +74,9 @@ chmod +x %{buildroot}/%{_libdir}/*.so.* %{_mandir}/man8/*.gz %changelog +* Mon Jul 3 2023 wangyunjia - 2.66-3 +- VFS_CAP_U32 can not ensure that XATTR_NAME_CAPS is defined, and failed to build + * Mon Jan 30 2023 wangyunjia - 2.66-2 - fix CVE-2023-2602/CVE-2023-2603 && fix memory leaks -- Gitee