From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [RFC] split struct kiocb Date: Tue, 24 Feb 2015 03:47:07 +0000 Message-ID: <20150224034707.GL29656@ZenIV.linux.org.uk> References: <1424714436-19371-1-git-send-email-hch@lst.de> <20150223212059.GH29656@ZenIV.linux.org.uk> <20150223212224.GA29212@lst.de> <20150223213947.GI29656@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Maxim Patlasov , Robert Baldyga , Michal Nazarewicz , Felipe Balbi , linux-aio@kvack.org, linux-fsdevel@vger.kernel.org To: Christoph Hellwig Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:42139 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751959AbbBXDrU (ORCPT ); Mon, 23 Feb 2015 22:47:20 -0500 Content-Disposition: inline In-Reply-To: <20150223213947.GI29656@ZenIV.linux.org.uk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Feb 23, 2015 at 09:39:47PM +0000, Al Viro wrote: > On Mon, Feb 23, 2015 at 10:22:24PM +0100, Christoph Hellwig wrote: > > On Mon, Feb 23, 2015 at 09:20:59PM +0000, Al Viro wrote: > > > PS: I would prefer to rebase #iov_iter and #gadget to -rc1, actually... > > > > Btw, any chance to sneak dup_iter to Linus for this release? I ended > > up adding an opencoded version to the block layer for this merge window, > > and I'd prefer to get these consolidated ASAP. > > Hmm... Let's wait for USB folks to review those fixes - dup_iter() is > helper needed for a fix of easily triggered use-after-free bug, after > all, and beginning of the cycle is obviously OK for such. While we are at it - once the situation with USB patches gets resolved, I'm going to put that into vfs.git. If nothing else, O_DIRECT, O_APPEND and probably O_NDELAY as well, need to be mirrored into ->ki_flags, to deal with races on flipping those suckers during ->{read,write}_iter(). That, and followup patches to affected filesystems out to go through vfs.git. Another thing is that rw_copy_check_uvector() should be split in two helpers - one to have iov_iter_init() folded into it, another being equivalent to passing CHECK_IOVEC_ONLY (sg_io() and foreign address space treatment in process_vm_readv()). Also vfs.git fodder, obviously, and should be on top of that stuff.