On Wed, Sep 23, 2020 at 07:36:47PM -0500, YiFei Zhu wrote: > On Wed, Sep 23, 2020 at 6:29 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > In order to optimize these cases from O(n) to O(1), seccomp can > > use bitmaps to immediately determine the desired action. A critical > > observation in the prior paragraph bears repeating: the common case for > > syscall tests do not check arguments. For any given filter, there is a > > constant mapping from the combination of architecture and syscall to the > > seccomp action result. (For kernels/architectures without CONFIG_COMPAT, > > there is a single architecture.). As such, it is possible to construct > > a mapping of arch/syscall to action, which can be updated as new filters > > are attached to a process. > > Would you mind educating me how this patch plan one handling MIPS? For > one kernel they seem to have up to three arch numbers per build, > AUDIT_ARCH_MIPS{,64,64N32}. Though ARCH_TRACE_IGNORE_COMPAT_SYSCALLS > does not seem to be defined for MIPS so I'm assuming the syscall > numbers are the same, but I think it is possible some client uses that > arch number to pose different constraints for different processes, so > it would better not accelerate them rather than break them. I'll take a look, but I'm hoping it won't be too hard to fit into what I've got designed so for to deal with x86_x32. (Will MIPS want this optimization at all?) -- Kees Cook