Re: [PATCH v15 04/13] arch/x86: add syscall_get_arch to syscall.h

From
H. Peter Anvin <hpa@zytor.com>
Date
2012-03-25 19:36:01
Also in
linux-arch, lkml
Reply to
Will Drewry, 2012-03-15
On 03/14/2012 08:11 PM, Will Drewry wrote:
quoted hunk ↗ jump to hunk
 
+static inline int syscall_get_arch(struct task_struct *task,
+				   struct pt_regs *regs)
+{
+#ifdef CONFIG_IA32_EMULATION
+	/*
+	 * TS_COMPAT is set for 32-bit syscall entries and then
+	 * remains set until we return to user mode.
+	 *
+	 * TIF_IA32 tasks should always have TS_COMPAT set at
+	 * system call time.
+	 */
+	if (task_thread_info(task)->status & TS_COMPAT)
+		return AUDIT_ARCH_I386;
+#endif
+	return AUDIT_ARCH_X86_64;
+}
 #endif	/* CONFIG_X86_32 */
 
 #endif	/* _ASM_X86_SYSCALL_H */
Just one FYI on this: after the x32 changes are upstream this can be
implemented in terms of is_ia32_task().

	-hpa
Thread (27 messages) 27 messages, 5 authors, last reply 2012-04-11
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help