[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170706154602.GR10672@ZenIV.linux.org.uk>
Date: Thu, 6 Jul 2017 16:46:02 +0100
From: Al Viro <viro@...IV.linux.org.uk>
To: Christoph Hellwig <hch@....de>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [git pull] vfs.git part 3
On Thu, Jul 06, 2017 at 05:10:33PM +0200, Christoph Hellwig wrote:
> On Thu, Jul 06, 2017 at 04:03:30PM +0100, Al Viro wrote:
> > On Thu, Jul 06, 2017 at 04:48:40PM +0200, Christoph Hellwig wrote:
> >
> > > Just did the whole batch (patch below), but it seems like using a
> > > __bitwise type in SYSCALL_DEFINE* will always give warnings like:
> > >
> > > fs/read_write.c:1095:1: warning: cast to restricted __kernel_rwf_t
> > >
> > > which I'm not sure to deal with..
> >
> > #define __SC_CAST(t, a) (__force t) a
>
> doesn't seem to make a difference..
Works here...
; cat a.c
#include <linux/syscalls.h>
#undef __SC_CAST
#define __SC_CAST(t, a) (__force t)a
typedef int __bitwise __foo_t;
static __foo_t is_OK;
static int will_warn;
SYSCALL_DEFINE1(foo, __foo_t, arg)
{
is_OK = arg;
will_warn = arg;
return 0;
}
; make a.o C=2 CHECK=~/local/sparse/sparse
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHECK arch/x86/purgatory/purgatory.c
CHECK arch/x86/purgatory/sha256.c
CHECK arch/x86/purgatory/string.c
arch/x86/purgatory/../boot/string.c:165:6: warning: symbol 'strchr' was not declared. Should it be static?
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
DESCEND objtool
CHECK scripts/mod/empty.c
CHK scripts/mod/devicetable-offsets.h
CHK include/generated/timeconst.h
CHK include/generated/bounds.h
CHECK a.c
a.c:10:19: warning: incorrect type in assignment (different base types)
a.c:10:19: expected int static [signed] [toplevel] will_warn
a.c:10:19: got restricted __foo_t [usertype] arg
CC a.o
;
That - on #work.read_write, as in vfs.git at the moment...
Powered by blists - more mailing lists