From e4fbb97fda6fe6232df743e655d0488f2353a24e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 13 Mar 2024 21:31:31 -0700 Subject: pam: Fix build with musl Apply a backported patch Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- .../0001-pam_namespace-include-stdint-h.patch | 42 ++++++++++++++++++++++ meta/recipes-extended/pam/libpam_1.5.3.bb | 1 + 2 files changed, 43 insertions(+) create mode 100644 meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch (limited to 'meta/recipes-extended') diff --git a/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch b/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch new file mode 100644 index 0000000000..124e5f1c3c --- /dev/null +++ b/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch @@ -0,0 +1,42 @@ +From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001 +From: Jacob Heider +Date: Wed, 17 Jan 2024 11:49:26 -0500 +Subject: [PATCH] pam_namespace: include stdint.h + +pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h, +resulting in the following build failures on 1.6.0: + + pam_namespace.c: In function 'process_line': + pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function) + 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { + | ^~~~~~~~ + pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header ''; did you forget to '#include '? + 40 | #include "argv_parse.h" + +++ |+#include + 41 | + pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in + 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { + | ^~~~~~~~ + +Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config") +Resolves: https://github.com/linux-pam/linux-pam/issues/733 + +Upstream-Status: Backport [https://github.com/linux-pam/linux-pam/commit/cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13] +Signed-off-by: Khem Raj +--- + modules/pam_namespace/pam_namespace.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c +index f72d67189..b16731c22 100644 +--- a/modules/pam_namespace/pam_namespace.c ++++ b/modules/pam_namespace/pam_namespace.c +@@ -34,6 +34,8 @@ + + #define _ATFILE_SOURCE + ++#include "config.h" ++#include + #include "pam_cc_compat.h" + #include "pam_inline.h" + #include "pam_namespace.h" diff --git a/meta/recipes-extended/pam/libpam_1.5.3.bb b/meta/recipes-extended/pam/libpam_1.5.3.bb index 4dd9890606..2a53bb4cc5 100644 --- a/meta/recipes-extended/pam/libpam_1.5.3.bb +++ b/meta/recipes-extended/pam/libpam_1.5.3.bb @@ -24,6 +24,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \ file://0001-examples-Replace-use-of-termio.h-with-termios.h.patch \ file://run-ptest \ file://pam-volatiles.conf \ + file://0001-pam_namespace-include-stdint-h.patch \ " SRC_URI[sha256sum] = "7ac4b50feee004a9fa88f1dfd2d2fa738a82896763050cd773b3c54b0a818283" -- cgit 1.2.3-korg