On 02/16/2012 07:53 PM, Will Drewry wrote: > > An earlier change Roland had prodded me toward was adding a > syscall_get_arch() call to asm/syscall.h which returned the > appropriate audit arch value for the current calling convention. I > hate to suggest this, but should I go ahead and wire that up for x86 > now, make it a dependency for HAVE_ARCH_SECCOMP_FILTER (and officially > part of asm/syscall.h) then let it trickle into existence? Maybe > something like: > ... and we have been talking about making a regset and export it to ptrace and core dumps, too. > static inline int syscall_get_arch(struct task_struct *task, struct > pt_regs *regs) > { > #ifdef CONFIG_IA32_EMULATION > if (task_thread_info(task)->status & TS_COMPAT) > return AUDIT_ARCH_I386; > #endif > #ifdef CONFIG_64BIT > return AUDIT_ARCH_X86_64; > #else > return AUDIT_ARCH_I386; > #endif > } > In this case it could be is_compat_task(). > There would be no other callers, though, because everywhere AUDIT_ARCH > is used it is hardcoded as appropriate. Then when x32 comes along, it > can figure out where it belongs using tif status and/or regs. For x32 you have the option of introducing a new value or relying on bit 30 in eax (and AUDIT_ARCH_X86_64). The latter is more natural, probably. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html