Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752197AbdGFPDe (ORCPT ); Thu, 6 Jul 2017 11:03:34 -0400 Received: from zeniv.linux.org.uk ([195.92.253.2]:53244 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750896AbdGFPDd (ORCPT ); Thu, 6 Jul 2017 11:03:33 -0400 Date: Thu, 6 Jul 2017 16:03:30 +0100 From: Al Viro To: Christoph Hellwig Cc: Linus Torvalds , Linux Kernel Mailing List , linux-fsdevel Subject: Re: [git pull] vfs.git part 3 Message-ID: <20170706150330.GQ10672@ZenIV.linux.org.uk> References: <20170705071446.GA10672@ZenIV.linux.org.uk> <20170705223821.GF10672@ZenIV.linux.org.uk> <20170705225235.GA11849@lst.de> <20170705232912.GG10672@ZenIV.linux.org.uk> <20170706144840.GA1400@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170706144840.GA1400@lst.de> User-Agent: Mutt/1.8.0 (2017-02-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1468 Lines: 41 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 in syscalls.h > index a2d4a8ac94ca..a04adbc70ddf 100644 > --- a/include/uapi/linux/aio_abi.h > +++ b/include/uapi/linux/aio_abi.h > @@ -28,6 +28,7 @@ > #define __LINUX__AIO_ABI_H > > #include > +#include Um... Includes of non-uapi in uapi are wrong. What do you need fs.h for, anyway? Just put the typedef into uapi/linux/types.h and be done with that... > +#define BLK_STS_OK 0 > +#define BLK_STS_NOTSUPP ((__force blk_status_t)1) > +#define BLK_STS_TIMEOUT ((__force blk_status_t)2) > +#define BLK_STS_NOSPC ((__force blk_status_t)3) > +#define BLK_STS_TRANSPORT ((__force blk_status_t)4) > +#define BLK_STS_TARGET ((__force blk_status_t)5) > +#define BLK_STS_NEXUS ((__force blk_status_t)6) WTF is that doing here? If nothing else, it's a userland namespace pollution; typedefs with such names are OK in the kernel, but not is something that might be included from userland. And that chunk doesn't seem to have anything to do with the rest of the patch... Please, move that on top of current #work.read_write - there's a fix for buggered vfs_write_iter() in it.