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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <899b9c95-7515-f843-662e-5ffa93a3f3e4@infradead.org>
Date:   Sun, 24 Jun 2018 19:22:44 -0700
From:   Randy Dunlap <rdunlap@...radead.org>
To:     Dominik Brodowski <linux@...inikbrodowski.net>,
        LKML <linux-kernel@...r.kernel.org>
Cc:     X86 ML <x86@...nel.org>
Subject: Re: syscalls: incompatible types and aliases on i386

On 06/24/2018 04:51 PM, Randy Dunlap wrote:
> Hi,
> 
> I'm seeing lots of this type of warning in 4.18-rc2 (maybe even before,
> but this is on x86_32/i386, so maybe people aren't checking it so much?):
> 
> In file included from ../arch/x86/kernel/process_32.c:40:
> ../include/linux/syscalls.h:234:18: warning: 'sys_arch_prctl' alias between functions of incompatible types 'long int(int,  long unsigned int)' and 'long int(long int,  long int)' [-Wattribute-alias]
>   asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                   ^~~
> ../include/linux/syscalls.h:223:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>   __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>   ^~~~~~~~~~~~~~~~~
> ../include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>  #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
>                                     ^~~~~~~~~~~~~~~
> ../arch/x86/kernel/process_32.c:310:1: note: in expansion of macro 'SYSCALL_DEFINE2'
>  SYSCALL_DEFINE2(arch_prctl, int, option, unsigned long, arg2)
>  ^~~~~~~~~~~~~~~
> ../include/linux/syscalls.h:239:18: note: aliased declaration here
>   asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                   ^~~~~~~~
> ../include/linux/syscalls.h:223:2: note: in expansion of macro '__SYSCALL_DEFINEx'
>   __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>   ^~~~~~~~~~~~~~~~~
> ../include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
>  #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
>                                     ^~~~~~~~~~~~~~~
> ../arch/x86/kernel/process_32.c:310:1: note: in expansion of macro 'SYSCALL_DEFINE2'
>  SYSCALL_DEFINE2(arch_prctl, int, option, unsigned long, arg2)
>  ^~~~~~~~~~~~~~~
> 
> 
> 
> I see around 300 of these.
> Using:  gcc (SUSE Linux) 8.1.1 20180523 [gcc-8-branch revision 260570]
> 
> Is there a patch for this?

Found it.

thnx,
-- 
~Randy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ