commit:     73fc86d879db42a9ce5a4ef9b73f088b02551169
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 28 20:11:14 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 28 20:11:14 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73fc86d8

app-admin/sudo: backport MIPS patch

Closes: https://bugs.gentoo.org/878401
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-admin/sudo/files/sudo-1.9.12-mips-build.patch | 33 +++++++++++++++++++++++
 app-admin/sudo/sudo-1.9.12.ebuild                 |  4 +++
 2 files changed, 37 insertions(+)

diff --git a/app-admin/sudo/files/sudo-1.9.12-mips-build.patch 
b/app-admin/sudo/files/sudo-1.9.12-mips-build.patch
new file mode 100644
index 000000000000..d45393dba443
--- /dev/null
+++ b/app-admin/sudo/files/sudo-1.9.12-mips-build.patch
@@ -0,0 +1,33 @@
+https://github.com/sudo-project/sudo/commit/7944494196d4a9b33e0ae64a7e20f86e19c336d3
+https://bugs.gentoo.org/878401
+
+From 7944494196d4a9b33e0ae64a7e20f86e19c336d3 Mon Sep 17 00:00:00 2001
+From: "Todd C. Miller" <[email protected]>
+Date: Wed, 26 Oct 2022 16:35:30 -0600
+Subject: [PATCH] Fix compilation error on Linux/mips.
+
+--- a/src/exec_ptrace.c
++++ b/src/exec_ptrace.c
+@@ -282,16 +282,17 @@ set_sc_arg4(struct sudo_ptrace_regs *regs, unsigned long 
addr)
+ static bool
+ ptrace_getregs(int pid, struct sudo_ptrace_regs *regs, int compat)
+ {
++    struct iovec iov;
+     debug_decl(ptrace_getregs, SUDO_DEBUG_EXEC);
+ 
++    iov.iov_base = &regs->u;
++    iov.iov_len = sizeof(regs->u);
++
+ # ifdef __mips__
+     /* PTRACE_GETREGSET has bugs with the MIPS o32 ABI at least. */
+-    if (ptrace(PTRACE_GETREGS, pid, NULL, &regs->u) == -1)
++    if (ptrace(PTRACE_GETREGS, pid, NULL, iov.iov_base) == -1)
+       debug_return_bool(false);
+ # else
+-    struct iovec iov;
+-    iov.iov_base = &regs->u;
+-    iov.iov_len = sizeof(regs->u);
+     if (ptrace(PTRACE_GETREGSET, pid, (void *)NT_PRSTATUS, &iov) == -1)
+       debug_return_bool(false);
+ # endif /* __mips__ */
+

diff --git a/app-admin/sudo/sudo-1.9.12.ebuild 
b/app-admin/sudo/sudo-1.9.12.ebuild
index 046d001b4139..d3e78ea71235 100644
--- a/app-admin/sudo/sudo-1.9.12.ebuild
+++ b/app-admin/sudo/sudo-1.9.12.ebuild
@@ -82,6 +82,10 @@ REQUIRED_USE="
 
 MAKEOPTS+=" SAMPLES="
 
+PATCHES=(
+       "${FILESDIR}"/${P}-mips-build.patch
+)
+
 src_prepare() {
        default
 

Reply via email to