Thread (50 messages) 50 messages, 8 authors, 2012-02-21

Re: [PATCH v8 3/8] seccomp: add system call filtering using BPF

flat view

From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2012-02-17 04:13:09
Also in: linux-arch, lkml

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help