diff options
Diffstat (limited to 'arch/powerpc/include/asm/syscall.h')
-rw-r--r-- | arch/powerpc/include/asm/syscall.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/syscall.h b/arch/powerpc/include/asm/syscall.h index 1243045bad2d..a048fed0722f 100644 --- a/arch/powerpc/include/asm/syscall.h +++ b/arch/powerpc/include/asm/syscall.h | |||
@@ -94,9 +94,15 @@ static inline void syscall_set_arguments(struct task_struct *task, | |||
94 | regs->orig_gpr3 = args[0]; | 94 | regs->orig_gpr3 = args[0]; |
95 | } | 95 | } |
96 | 96 | ||
97 | static inline int syscall_get_arch(void) | 97 | static inline int syscall_get_arch(struct task_struct *task) |
98 | { | 98 | { |
99 | int arch = is_32bit_task() ? AUDIT_ARCH_PPC : AUDIT_ARCH_PPC64; | 99 | int arch; |
100 | |||
101 | if (IS_ENABLED(CONFIG_PPC64) && !test_tsk_thread_flag(task, TIF_32BIT)) | ||
102 | arch = AUDIT_ARCH_PPC64; | ||
103 | else | ||
104 | arch = AUDIT_ARCH_PPC; | ||
105 | |||
100 | #ifdef __LITTLE_ENDIAN__ | 106 | #ifdef __LITTLE_ENDIAN__ |
101 | arch |= __AUDIT_ARCH_LE; | 107 | arch |= __AUDIT_ARCH_LE; |
102 | #endif | 108 | #endif |