On Fri, Sep 21, 2012 at 08:58:00AM -0700, Kees Cook wrote:
> Add finit_module syscall to the ARM syscall list.
> 
> Signed-off-by: Kees Cook <[email protected]>
> Cc: Russell King <[email protected]>
> ---
>  arch/arm/include/asm/unistd.h |    1 +
>  arch/arm/kernel/calls.S       |    1 +
>  2 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
> index 0cab47d..904b579 100644
> --- a/arch/arm/include/asm/unistd.h
> +++ b/arch/arm/include/asm/unistd.h
> @@ -404,6 +404,7 @@
>  #define __NR_setns                   (__NR_SYSCALL_BASE+375)
>  #define __NR_process_vm_readv                (__NR_SYSCALL_BASE+376)
>  #define __NR_process_vm_writev               (__NR_SYSCALL_BASE+377)
> +#define __NR_finit_module            (__NR_SYSCALL_BASE+378)

This gives us a different syscall ordering if we add the kcmp syscall.

That brings up another question though - when was kcmp added to x86, and
why aren't we getting notifications from checksyscalls.sh that ARM hasn't
been updated?

It seems to be that the script was broken, and no one has noticed.

commit 29dc54c673ea2531d589400badb4ada5f5f60dae
Author: H. Peter Anvin <[email protected]>
Date:   Fri Nov 11 15:57:53 2011 -0800

    checksyscalls: Use arch/x86/syscalls/syscall_32.tbl as source

    Use the new arch/x86/syscalls/syscall_32.tbl file as source instead of
    arch/x86/include/asm/unistd_32.h.

    Cc: Michal Marek <[email protected]>
    Cc: Geert Uytterhoeven <[email protected]>
    Cc: Sam Ravnborg <[email protected]>
    Signed-off-by: H. Peter Anvin <[email protected]>

is the culpret, more specifically this fragment:

+           echo <<EOF
+#if !defined(__NR_${name}) && !defined(__IGNORE_${name})
+#warning syscall ${name} not implemented
+#endif
+EOF

"echo <<EOF" doesn't read from its stdin and output to stdout, so the
above just generates a blank line for each entry in x86's syscalls_32.tbl,
resulting in the compiler doing no checking for us.

That "echo <<EOF" should be "cat <<EOF"... and with that fixed we get:

<stdin>:1220:2: warning: #warning syscall kcmp not implemented

So, actually, I want to add this kcmp syscall _now_ into -rc which I'm
afraid will break your patch, and bump your syscall number on ARM to 379.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to