lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Fri, 21 Sep 2012 10:26:29 -0700
From:	Kees Cook <keescook@...omium.org>
To:	Russell King <rmk@....linux.org.uk>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] ARM: add finit_module syscall to ARM

On Fri, Sep 21, 2012 at 9:51 AM, Russell King <rmk@....linux.org.uk> wrote:
> 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 <keescook@...omium.org>
>> Cc: Russell King <rmk@....linux.org.uk>
>> ---
>>  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 <hpa@...ux.intel.com>
> 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 <mmarek@...e.cz>
>     Cc: Geert Uytterhoeven <geert@...ux-m68k.org>
>     Cc: Sam Ravnborg <sam@...nborg.org>
>     Signed-off-by: H. Peter Anvin <hpa@...ux.intel.com>
>
> 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.

That's fine by me. I'll adjust my patch series.

Thanks!

-Kees

-- 
Kees Cook
Chrome OS Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ