From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 155DC3A63EB; Wed, 25 Mar 2026 14:13:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774448000; cv=none; b=ov0TKir5/ohee+hllg5tLVHwEcq4iYUbaAXtFph1M7JjNE6FRtzC7aD9BbwmdPa8+/x+lcqxQEYKd1nP8nlgJCUKTI0wHDIIFepRSsyujvE9sTpeetRtQETTp8VPt4tHKWtrpJFCydUAmrGJZLfVkrFhpy2HZ7zxAL+l6qg1XVg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774448000; c=relaxed/simple; bh=O4KR79NA3w5wXHTjCgl3Y/eCUkwrrxsmxAb2QYX2GZc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=opr6kouaeVF+z1GK4JEthZkM4BqFIEaUdFdyIc8uGXNloSOd/gcRQ/VnD+Ulvs8MWUUXgjZWfK5IVHrnHMYa7cXIp8ONh2goLvYK3jdNolmqtE/v34K4uv3uENpyGMTYrToseGI5vJGBKAaKG+1l3Lrws9PJtI4Rqsk86K4xnyw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=THeeRJa+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="THeeRJa+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A2230C116C6; Wed, 25 Mar 2026 14:13:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1774447999; bh=O4KR79NA3w5wXHTjCgl3Y/eCUkwrrxsmxAb2QYX2GZc=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=THeeRJa+fvQrbUlWi1AzdB4xesJwfM/iMX3IW08X/F2tnmO2Sq9kSk/X2JbnvBwo+ iPnryERXRmcoJKHw/RDO7vBm9UnM6P4u2a/TcWW6nfb0TUYORcveAXebJPr293zK4g +Ias1QKlEaBi/7zTZtA8JdEJ1rJD+alcOdsXxMvOub3PzN5vN6Q+XGM1CXkMhPMjr2 Csb2YPWXjwzAvXrWoN0WUbuDkR+1/J4hY4VMkUm1BHPU75vVOYy14wxbfq7tTP5S66 vlraXxz0FCKhIq2kJIQumHP3qwlqv9CrN5md/W0QopKDjxp/BTGH75Ssk1SU3JAold B+q4e2Bddgs5Q== Message-ID: <92042416-251e-43bf-b5a7-cfa9c826d020@kernel.org> Date: Wed, 25 Mar 2026 15:13:09 +0100 Precedence: bulk X-Mailing-List: linux-fsdevel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 19/21] uio: replace deprecated mmap hook with mmap_prepare in uio_info Content-Language: en-US To: "Lorenzo Stoakes (Oracle)" , Andrew Morton Cc: Jonathan Corbet , Clemens Ladisch , Arnd Bergmann , Greg Kroah-Hartman , "K . Y . Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , Alexander Shishkin , Maxime Coquelin , Alexandre Torgue , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Bodo Stroesser , "Martin K . Petersen" , David Howells , Marc Dionne , Alexander Viro , Christian Brauner , Jan Kara , David Hildenbrand , "Liam R . Howlett" , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Jann Horn , Pedro Falcato , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-mtd@lists.infradead.org, linux-staging@lists.linux.dev, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-afs@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Ryan Roberts References: <157583e4477705b496896c7acd4ac88a937b8fa6.1774045440.git.ljs@kernel.org> From: "Vlastimil Babka (SUSE)" In-Reply-To: <157583e4477705b496896c7acd4ac88a937b8fa6.1774045440.git.ljs@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 3/20/26 23:39, Lorenzo Stoakes (Oracle) wrote: > The f_op->mmap interface is deprecated, so update uio_info to use its > successor, mmap_prepare. > > Therefore, replace the uio_info->mmap hook with a new > uio_info->mmap_prepare hook, and update its one user, target_core_user, > to both specify this new mmap_prepare hook and also to use the new > vm_ops->mapped() hook to continue to maintain a correct udev->kref > refcount. > > Then update uio_mmap() to utilise the mmap_prepare compatibility layer to > invoke this callback from the uio mmap invocation. > > Signed-off-by: Lorenzo Stoakes (Oracle) Acked-by: Vlastimil Babka (SUSE) > --- > drivers/target/target_core_user.c | 26 ++++++++++++++++++-------- > drivers/uio/uio.c | 10 ++++++++-- > include/linux/uio_driver.h | 4 ++-- > 3 files changed, 28 insertions(+), 12 deletions(-) > > diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c > index af95531ddd35..edc2afd5f4ee 100644 > --- a/drivers/target/target_core_user.c > +++ b/drivers/target/target_core_user.c > @@ -1860,6 +1860,17 @@ static struct page *tcmu_try_get_data_page(struct tcmu_dev *udev, uint32_t dpi) > return NULL; > } > > +static int tcmu_vma_mapped(unsigned long start, unsigned long end, pgoff_t pgoff, > + const struct file *file, void **vm_private_data) > +{ > + struct tcmu_dev *udev = *vm_private_data; > + > + pr_debug("vma_mapped\n"); This looked like testing leftover at first, but it matches tcmu_vma_open()/close() (in case anyone else wonders). > + > + kref_get(&udev->kref); > + return 0; > +} > +