libcgroup: upgrade 2.0 -> 2.0.1

module.patch
musl-decls-compat.patch
removed since they're included in 2.0.1

Changelog:
==========
- Allow reading/writing from cgroup.* files in cgroup v2
- Add support for cgroup v2's cgroup.threads file
- Fix issue where libcgroup/pam wasn't working properly when
  cgrulesengd is disabled
- Fix a bug where the cgroup version wasn't initialized in a
  named cgroup v1 hierarchy
- Various automake bug fixes
- Build PAM module as unversioned DSO
- Fix build issues with musl libc
- Fix potential TOCTOU race in cgroup_get_procs()

(From OE-Core rev: 36d43237192aed532b37a52784fb91da64f54c1a)

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
wangmy
2022-03-15 19:22:16 +08:00
committed by Richard Purdie
parent 08040f9fa7
commit 3d29b42230
3 changed files with 2 additions and 324 deletions

View File

@@ -1,36 +0,0 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 76f0879056ce7e3f0123c277f2303954d0b6cead Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomasz=20K=C5=82oczko?= <kloczek@github.com>
Date: Wed, 12 May 2021 20:36:02 +0000
Subject: [PATCH 2/2] automake: build PAM module as unversioned DSO
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
PAM modules should be build as unversioned DSO.
Add -avoid-version to pam_cgroup_la_LDFLAGS
Signed-off-by: Tomasz Kłoczko <kloczek@github.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
---
src/pam/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/pam/Makefile.am b/src/pam/Makefile.am
index bd5a91d..4b0b2a9 100644
--- a/src/pam/Makefile.am
+++ b/src/pam/Makefile.am
@@ -4,7 +4,7 @@ if WITH_PAM
pamlib_LTLIBRARIES = pam_cgroup.la
pam_cgroup_la_SOURCES = pam_cgroup.c
-pam_cgroup_la_LDFLAGS = -module
+pam_cgroup_la_LDFLAGS = -module -avoid-version
pam_cgroup_la_LIBADD = $(top_builddir)/src/libcgroup.la -lpam
endif
--
2.32.0

View File

@@ -1,284 +0,0 @@
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@arm.com>
From 26f2889113789c176273bd24fcd1592a8064c346 Mon Sep 17 00:00:00 2001
From: "Anthony G. Basile" <blueness@gentoo.org>
Date: Tue, 6 Jul 2021 07:54:47 -0600
Subject: [PATCH 1/2] Replace __BEGIN_DECLS and __END_DECLS with extern "C".
The macros __BEGIN_DECLS and __END_DECLS are a GNU-ism found in
glibc and uClibc, but not musl. We replace them by the more general
extern "C" { ... } block exposed only if we have __cplusplus.
Forward ported from a patch by Anthony G. Basile <blueness@gentoo.org>.
Signed-off-by: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
---
include/libcgroup/config.h | 8 ++++++--
include/libcgroup/error.h | 8 ++++++--
include/libcgroup/groups.h | 8 ++++++--
include/libcgroup/init.h | 8 ++++++--
include/libcgroup/iterators.h | 8 ++++++--
include/libcgroup/log.h | 8 ++++++--
include/libcgroup/tasks.h | 8 ++++++--
src/bindings/libcgroup.p | 8 --------
src/daemon/cgrulesengd.h | 8 ++++++--
src/libcgroup-internal.h | 8 ++++++--
src/tools/tools-common.h | 8 ++++++--
11 files changed, 60 insertions(+), 28 deletions(-)
diff --git a/include/libcgroup/config.h b/include/libcgroup/config.h
index 9aaa390..f835009 100644
--- a/include/libcgroup/config.h
+++ b/include/libcgroup/config.h
@@ -9,7 +9,9 @@
#include <features.h>
#endif
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* @defgroup group_config 5. Configuration
@@ -128,6 +130,8 @@ int cgroup_config_create_template_group(
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /*_LIBCGROUP_CONFIG_H*/
diff --git a/include/libcgroup/error.h b/include/libcgroup/error.h
index 1dfdde9..14a6e16 100644
--- a/include/libcgroup/error.h
+++ b/include/libcgroup/error.h
@@ -9,7 +9,9 @@
#include <features.h>
#endif
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* @defgroup group_errors 6. Error handling
@@ -99,6 +101,8 @@ int cgroup_get_last_errno(void);
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_INIT_H */
diff --git a/include/libcgroup/groups.h b/include/libcgroup/groups.h
index 201558f..39ec3cd 100644
--- a/include/libcgroup/groups.h
+++ b/include/libcgroup/groups.h
@@ -11,7 +11,9 @@
#include <stdbool.h>
#endif
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* Flags for cgroup_delete_cgroup_ext().
@@ -587,6 +589,8 @@ char *cgroup_get_cgroup_name(struct cgroup *cgroup);
*/
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_GROUPS_H */
diff --git a/include/libcgroup/init.h b/include/libcgroup/init.h
index 5150f2f..ea2dcc9 100644
--- a/include/libcgroup/init.h
+++ b/include/libcgroup/init.h
@@ -9,7 +9,9 @@
#include <features.h>
#endif
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* @defgroup group_init 1. Initialization
@@ -58,6 +60,8 @@ int cgroup_get_subsys_mount_point(const char *controller, char **mount_point);
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_INIT_H */
diff --git a/include/libcgroup/iterators.h b/include/libcgroup/iterators.h
index c6d453d..b3ba3af 100644
--- a/include/libcgroup/iterators.h
+++ b/include/libcgroup/iterators.h
@@ -11,7 +11,9 @@
#include <features.h>
#endif
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* @defgroup group_iterators 3. Iterators
@@ -423,6 +425,8 @@ int cgroup_get_subsys_mount_point_end(void **handle);
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_ITERATORS_H */
diff --git a/include/libcgroup/log.h b/include/libcgroup/log.h
index 0dd03b4..f693473 100644
--- a/include/libcgroup/log.h
+++ b/include/libcgroup/log.h
@@ -11,7 +11,9 @@
#include <stdarg.h>
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* @defgroup group_log 7. Logging
@@ -142,6 +144,8 @@ extern int cgroup_parse_log_level_str(const char *levelstr);
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_LOG_H */
diff --git a/include/libcgroup/tasks.h b/include/libcgroup/tasks.h
index aad438a..8553c30 100644
--- a/include/libcgroup/tasks.h
+++ b/include/libcgroup/tasks.h
@@ -12,7 +12,9 @@
#include <stdbool.h>
#endif
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
/** Flags for cgroup_change_cgroup_uid_gid(). */
enum cgflags {
@@ -204,6 +206,8 @@ int cgroup_register_unchanged_process(pid_t pid, int flags);
* @}
* @}
*/
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* _LIBCGROUP_TASKS_H */
diff --git a/src/daemon/cgrulesengd.h b/src/daemon/cgrulesengd.h
index e273b4b..0b12076 100644
--- a/src/daemon/cgrulesengd.h
+++ b/src/daemon/cgrulesengd.h
@@ -17,7 +17,9 @@
#include <features.h>
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
#include "config.h"
#include "libcgroup.h"
@@ -119,7 +121,9 @@ void cgre_flash_templates(int signum);
*/
void cgre_catch_term(int signum);
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* _CGRULESENGD_H */
diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h
index 1dfc92b..edc5abb 100644
--- a/src/libcgroup-internal.h
+++ b/src/libcgroup-internal.h
@@ -16,7 +16,9 @@
#define __LIBCG_INTERNAL
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
#include "config.h"
#include <dirent.h>
@@ -407,6 +409,8 @@ int cgroupv2_controller_enabled(const char * const cg_name,
#endif /* UNIT_TEST */
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif
diff --git a/src/tools/tools-common.h b/src/tools/tools-common.h
index 292c408..e3541b1 100644
--- a/src/tools/tools-common.h
+++ b/src/tools/tools-common.h
@@ -18,7 +18,9 @@
#define __TOOLS_COMMON
-__BEGIN_DECLS
+#ifdef __cplusplus
+extern "C" {
+#endif
#include "config.h"
#include <libcgroup.h>
#include "../libcgroup-internal.h"
@@ -136,6 +138,8 @@ int parse_r_flag(const char * const program_name,
#endif /* UNIT_TEST */
-__END_DECLS
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
#endif /* TOOLS_COMMON */
--
2.32.0

View File

@@ -11,11 +11,9 @@ inherit autotools pkgconfig
DEPENDS = "bison-native flex-native"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \
file://musl-decls-compat.patch \
file://module.patch"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
SRC_URI[sha256sum] = "11a2fbf0e42f46089f406b8b0dca7fef04aec2f21600b70e402c5db3661305d7"
SRC_URI[sha256sum] = "2dd9c566a90a053e7a5f47607e225648ba7aa9bb7763514dd4778e2ed530fe90"
UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/releases/"
DEPENDS:append:libc-musl = " fts "