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]
Date:	Tue, 21 Jun 2011 17:32:04 -0500
From:	H Hartley Sweeten <hartleys@...ionengravers.com>
To:	Mike Frysinger <vapier@...too.org>
CC:	Linux Kernel <linux-kernel@...r.kernel.org>,
	ARM Kernel <linux-arm-kernel@...ts.infradead.org>,
	Russell King <linux@....linux.org.uk>,
	"mikpe@...uu.se" <mikpe@...uu.se>,
	"ebiederm@...ssion.com" <ebiederm@...ssion.com>,
	"tony.luck@...el.com" <tony.luck@...el.com>
Subject: RE: [PATCH] ARM: quiet sparse noise due to
 __ARCH_WANT_SYS_RT_SIG(ACTION|SUSPEND)

On Tuesday, June 21, 2011 12:31 PM, Mike Frysinger wrote:
> On Tue, Jun 21, 2011 at 15:09, H Hartley Sweeten wrote:
>> --- a/arch/arm/include/asm/unistd.h
>> +++ b/arch/arm/include/asm/unistd.h
>> @@ -467,6 +467,20 @@
>> +#ifndef __ASSEMBLY__
>> +
>> +#include <linux/types.h>
>> +#include <linux/linkage.h>
>> +#include <linux/compiler.h>
>> +#include <linux/signal.h>
>> +
>> +asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act,
>> +                                struct sigaction __user *oact,
>> +                                size_t sigsetsize);
>> +asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize);
>> +
>> +#endif /* !__ASSEMBLY__ */
>
> yikes ... this really the only way to fix the sparse warning ?

Not sure...

Russell's patch to add an asm/syscalls.h fixes the other system call
sparse warnings in arm/arm/kernel/* but it doesn't fix the ones in
kernel/signal.c.  This patch does but, as Russell said, asm/unistd.h
is exported to it's a bit ugly.

BTW, arch/ia64 does something very similar:


#if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)

#include <linux/types.h>
#include <linux/linkage.h>
#include <linux/compiler.h>

extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr);

asmlinkage unsigned long sys_mmap(
				unsigned long addr, unsigned long len,
				int prot, int flags,
				int fd, long off);
asmlinkage unsigned long sys_mmap2(
				unsigned long addr, unsigned long len,
				int prot, int flags,
				int fd, long pgoff);
struct pt_regs;
struct sigaction;
asmlinkage long sys_ia64_pipe(void);
asmlinkage long sys_rt_sigaction(int sig,
				 const struct sigaction __user *act,
				 struct sigaction __user *oact,
				 size_t sigsetsize);

Regards,
Hartley--
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