a550638087
OBS-URL: https://build.opensuse.org/request/show/247315 OBS-URL: https://build.opensuse.org/package/show/security/audit?expand=0&rev=72
86 lines
2.4 KiB
Diff
86 lines
2.4 KiB
Diff
From: Tony Jones <tonyj@suse.de>
|
|
Subject: audit: add ppc64le mach support
|
|
References: bnc#891861
|
|
Commit-id: https://fedorahosted.org/audit/changeset/1013
|
|
Signed-off-by: Tony Jones <tonyj@suse.de>
|
|
|
|
---
|
|
lib/libaudit.c | 5 +++++
|
|
lib/libaudit.h | 6 +++++-
|
|
lib/lookup_table.c | 3 +++
|
|
lib/machinetab.h | 1 +
|
|
4 files changed, 14 insertions(+), 1 deletion(-)
|
|
|
|
--- a/lib/machinetab.h
|
|
+++ b/lib/machinetab.h
|
|
@@ -27,6 +27,7 @@ _S(MACH_X86, "i686" )
|
|
_S(MACH_86_64, "x86_64" )
|
|
_S(MACH_IA64, "ia64" )
|
|
_S(MACH_PPC64, "ppc64" )
|
|
+_S(MACH_PPC64LE, "ppc64le")
|
|
_S(MACH_PPC, "ppc" )
|
|
_S(MACH_S390X, "s390x" )
|
|
_S(MACH_S390, "s390" )
|
|
--- a/lib/lookup_table.c
|
|
+++ b/lib/lookup_table.c
|
|
@@ -70,6 +70,7 @@ static const struct int_transtab elftab[
|
|
{ MACH_86_64, AUDIT_ARCH_X86_64 },
|
|
{ MACH_IA64, AUDIT_ARCH_IA64 },
|
|
{ MACH_PPC64, AUDIT_ARCH_PPC64 },
|
|
+ { MACH_PPC64LE, AUDIT_ARCH_PPC64LE},
|
|
{ MACH_PPC, AUDIT_ARCH_PPC },
|
|
{ MACH_S390X, AUDIT_ARCH_S390X },
|
|
{ MACH_S390, AUDIT_ARCH_S390 },
|
|
@@ -123,6 +124,7 @@ int audit_name_to_syscall(const char *sc
|
|
found = ia64_syscall_s2i(sc, &res);
|
|
break;
|
|
case MACH_PPC64:
|
|
+ case MACH_PPC64LE:
|
|
case MACH_PPC:
|
|
found = ppc_syscall_s2i(sc, &res);
|
|
break;
|
|
@@ -169,6 +171,7 @@ const char *audit_syscall_to_name(int sc
|
|
case MACH_IA64:
|
|
return ia64_syscall_i2s(sc);
|
|
case MACH_PPC64:
|
|
+ case MACH_PPC64LE:
|
|
case MACH_PPC:
|
|
return ppc_syscall_i2s(sc);
|
|
case MACH_S390X:
|
|
--- a/lib/libaudit.c
|
|
+++ b/lib/libaudit.c
|
|
@@ -1128,6 +1128,11 @@ int audit_determine_machine(const char *
|
|
return -6;
|
|
break;
|
|
#endif
|
|
+ case MACH_PPC64LE:
|
|
+ if (bits != __AUDIT_ARCH_64BIT)
|
|
+ return -6;
|
|
+ break;
|
|
+
|
|
case MACH_86_64: /* fallthrough */
|
|
case MACH_PPC64: /* fallthrough */
|
|
case MACH_S390X: /* fallthrough */
|
|
--- a/lib/libaudit.h
|
|
+++ b/lib/libaudit.h
|
|
@@ -339,6 +339,9 @@ extern "C" {
|
|
#define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
|
#endif
|
|
|
|
+#ifndef AUDIT_ARCH_PPC64LE
|
|
+#define AUDIT_ARCH_PPC64LE (EM_PPC64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
|
|
+#endif
|
|
|
|
//////////////////////////////////////////////////////
|
|
// This is an external ABI. Any changes in here will
|
|
@@ -418,7 +421,8 @@ typedef enum {
|
|
MACH_S390,
|
|
MACH_ALPHA,
|
|
MACH_ARM,
|
|
- MACH_AARCH64
|
|
+ MACH_AARCH64,
|
|
+ MACH_PPC64LE
|
|
} machine_t;
|
|
|
|
/* These are the valid audit failure tunable enum values */
|