From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2E1ABC4706C for ; Sat, 13 Jan 2024 09:31:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B0D518D0003; Sat, 13 Jan 2024 04:31:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ABE448D0001; Sat, 13 Jan 2024 04:31:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 986438D0003; Sat, 13 Jan 2024 04:31:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 87E498D0001 for ; Sat, 13 Jan 2024 04:31:53 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5495CA1AA7 for ; Sat, 13 Jan 2024 09:31:53 +0000 (UTC) X-FDA: 81673770906.07.106BC8F Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by imf05.hostedemail.com (Postfix) with ESMTP id 57D0D100012 for ; Sat, 13 Jan 2024 09:31:50 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="BLnb/7UN"; dmarc=none; spf=pass (imf05.hostedemail.com: domain of salvatore.bonaccorso@gmail.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=salvatore.bonaccorso@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705138310; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=opM7SLrUV92LeRt9jPrfn8XuUI+wI1iBDU8hNXHjbfc=; b=FMMP6+xVxzOPgMl8L2txBlgQFun7hnPocG9wLRunNS9+YSh1irNYMdoagFufBzjk4vFhX6 nOth6Jk7JfBbmWnVXzOFvH3tAGByik0m2w2bLk8xMXcAAssdunFn/EJp0106V2Kh8MHmu0 oQEgmnOcR24v0TvdHrnDAOzYJGoRw/I= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="BLnb/7UN"; dmarc=none; spf=pass (imf05.hostedemail.com: domain of salvatore.bonaccorso@gmail.com designates 209.85.221.50 as permitted sender) smtp.mailfrom=salvatore.bonaccorso@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705138310; a=rsa-sha256; cv=none; b=5CuiKctL1DE9IVxAGgWG3Hh46G608Z/a/kk5pbSsw0Cf2UrWLaoJlpS2uCLebYyRKwn29M 3RE55qOqp+v6dHqFGbMT52OtOSi9fjoWCxDj+NU/ZhXmh58ASxgySfvCyy39Jsk8gPu/IS G2IGUZtROzjEC9t/3hwX9vOD+YuoT1w= Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-33677fb38a3so6607702f8f.0 for ; Sat, 13 Jan 2024 01:31:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705138309; x=1705743109; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :from:to:cc:subject:date:message-id:reply-to; bh=opM7SLrUV92LeRt9jPrfn8XuUI+wI1iBDU8hNXHjbfc=; b=BLnb/7UNCOeJp/dmUCWINIRgMPbQObh1klO+H54CZaOat0mff7RpSSqJRPD7Q7JrzO S72dgm+xATu0phe7/3LufHBK08LksTER3iiUczRsXXZFWOIzKzuMJlbAZgOXL41Jj94g dX7mnOTESLCEWtT/BOpjrbkZfE8Uc+ZVGopkWa7Eqr6LP3IZ6EvngAm9SYcSkOnVx43W YJ0qTvypW+ada2Ped14jg3gLqx8FHDF/DWlLrZa4aZnmkvi26T0CvZcdGRMxWFixtyU1 /RBsa3tEj5skYHIBgwL+M/gWwr2iO0vt94NVwcryDKNuot2YbCbemmfpp6s3MishwMAM LReg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705138309; x=1705743109; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=opM7SLrUV92LeRt9jPrfn8XuUI+wI1iBDU8hNXHjbfc=; b=KHQYE7V7PcMcu1Rj3zDuqgvP2QuE/F3RAUdekbWKGf6ccnhAbF6oHo3AUaXjObTAwr ITXSovK4ox7unGPeOjGMooKtjS9NbhE8lhHjJal3c7vlhwH+xVBtJaPOxFbsixD6jS6k MkbotpmXPKWShh3MS0Hw0mWRncHA5GTKBY1yWXsmf9k9bZ6T3YdKzM4nRWVx3gLVkznQ NzbqTCv3DTjut5+2WDENxO3RVdWfrhhUqT+Aj8SdVU36uBsaSsT0koGafzGmpVKvYyQX 49ufHWQ3jjbSDUyWak1esUaX73BorxOCr/XxNfldN6wLuncqQd4sDGcU0vskTegU7h3a gT3g== X-Gm-Message-State: AOJu0YzkHsDrQeek+ui0QImJIcYkmoEV6g+UxeUqkzGANHn/zhCiYgO0 4GQIzS3qEEJHec0ze1ZFB0A= X-Google-Smtp-Source: AGHT+IFWeho2w4T+a6I6b9eXtNrBJ3WfBM9sSehTQUYNxMkbMZNmI5zb4k+0KVCWCJVfERbqYZ2Fdg== X-Received: by 2002:a5d:5583:0:b0:336:6ad2:b64e with SMTP id i3-20020a5d5583000000b003366ad2b64emr1342497wrv.48.1705138308668; Sat, 13 Jan 2024 01:31:48 -0800 (PST) Received: from eldamar.lan (c-82-192-242-114.customer.ggaweb.ch. [82.192.242.114]) by smtp.gmail.com with ESMTPSA id m6-20020adffa06000000b00336c6b77584sm6249431wrr.91.2024.01.13.01.31.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Jan 2024 01:31:47 -0800 (PST) Received: by eldamar.lan (Postfix, from userid 1000) id 0BF12BE2DE0; Sat, 13 Jan 2024 10:31:47 +0100 (CET) Date: Sat, 13 Jan 2024 10:31:46 +0100 From: Salvatore Bonaccorso To: Steve French Cc: David Howells , "gregkh@linuxfoundation.org" , Paulo Alcantara , Shyam Prasad N , Rohith Surabattula , Matthew Wilcox , Jeff Layton , Steve French , "Jitindar Singh, Suraj" , "linux-mm@kvack.org" , "stable-commits@vger.kernel.org" , stable@vger.kernel.org, linux-cifs@vger.kernel.org, Linux regressions mailing list Subject: Re: [Regression 6.1.y] From "cifs: Fix flushing, invalidation and file size with copy_file_range()" Message-ID: References: <2023121124-trifle-uncharted-2622@gregkh> <8e59220d-b0f3-4dae-afc3-36acfa6873e4@leemhuis.info> <13a70cc5-78fc-49a4-8d78-41e5479e3023@leemhuis.info> <2024011115-neatly-trout-5532@gregkh> <2162049.1705069551@warthog.procyon.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Queue-Id: 57D0D100012 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: trraqsm6ebchtxr1hxsqa8i47kfegmac X-HE-Tag: 1705138310-955907 X-HE-Meta: U2FsdGVkX1++WR6gYXkCG4nxH2dDyy568qVMc/u5v1mdCx/uQprOWZtCnm3lzrprXfpeoVIPxklxtYLP6oQEA8NQhR70ivzBP6UjWKAAkVyFxbgppaCdoGVa1ll80zT88PXfrTqKWAziw/zdX9WIXplArVrM35IXrn6wDq5TbsRuPF6m39CV1Xaer8EkQm8dVCqxtkIiDzAcE46mqzX8JpsEwJoNJB1WHPd+WJd8uRkXP4QCSb6h8VwrdCFTy9lJ2yEOq4N52Fqgd0c5MjbDE48nz9id8WaIw+jmG+TYdO8empwUMH43hCQZRZNy5exx+D7B8sXERcYIi4RZmVa0emwiPZjZsK4UkHeBZzoJWqoeOvnTsSYNFwWpeOBGS+L4sqgcRoBIhyWG+Ew8Oud7ho0ReuITUommfCTV5xCTRamg2MFhC1Uo+e6ipgaD3pkhTxyQQ5moOtZehVkTo1wJgXsynBj+Kns3e9fTxaWHpj8I3AbuIeVEqWmkhvYaEycsKk2tQ+uGZdRvUBcI4Eco8xM37BZW06BpwRRD5Y67CutDnDesYoULJWsq3TxlotXEDc2CcEXTz5EBqtZ29KAjKCZeRWWiZkCWo8EehqWowOuyRlvg6KjCmpQlgrqjaCkGILaumC8KIu6ikk4eqw0Kapt2F6wWc0azdKkc9QDxEjI7vYyFsoLf1x58z3/GcDA9IZQPLSHTSBLs0oYgdMKMc3ufc+ucVN+76yRPCDB+lPh0JH+qi8n6xLU7DLp/pCDxRtUaC4+V/CaiDLBCpj5L3jBZ9QA/vZszG+sJ3ZGhgHFyo+xDXEkhT9tUKeHnnEN9EyNHmOt5IzflE4nGOgSp5rHqR5c2QJ+4sv6DBmJVTlSID/fepU64mm6w+LZku5SzOEfV7PohY+JMb3DxAsvkO8Dr3eFA7vocvjFjjiCbEMcV/ncpIuww9TsFU+oF0o5d6rxFxjjIwAt1QsMNJyx y/k008rR UXzCnokguVUHfvzNpD8lO+1G9JgYMpU8nX/UiO5aCV1coqskR0Up4ndtR5g1SY6YQHUziFCET7paZ4pwe9QSQPhLT5SflLW2GOUZFHfMThq4XLL8zwL7WdZo2WfAX/4xwOikH8XrgoV5AK/iowVMIu5P+5nKy8HvyzBL74PLjzpJS584JhZrnzc0zCPQUAj0GtYvXflL0qnuQ22GguV4Wxk1XE6F+GYXt6H6s8MG1Rp0XRGn/AsefGzJUHxfnyNIoRVrlZI2kKwFaoVizqNEMF36LLnUlnOIUEWFjDKsOx7VFFzLxrlb2u0eZMg1hzUlLVVhQrUYVXorU1dtZjJvLjIpA+FjV+qT4gexcWhBimzQkedAx7tPSciY2dj94jv6HjsFr/9urIT814TGdx2PxtWi8L6FItqlh9jK+CHc3Ffcv6eJNAL5xR5DBaynhJt1JwoTRzUt5z0GjjF0S6uav4qU5u1XtHT1qwW1PiJkIAWQIliB5y5hyHCVI4vOBaL39DF07e5FesqrG1Nys47g8ADUy10p0u16MGt8VrGoBiuE2GUZhVEgMvb0O36Tt+ftP9VWkhaQifiu8ciFXhtlNNn3tCnuJUZesuh5SoCRlotbapyodkhs5HL44jfhyS/rFOqwUBZDDI5t8Afz6uxgQ+J7+Gz7Y/886TsmrAEHTJfADketVYK40MAG1ywqD4C3JXNpYt0BDPu/2Ym95yLswQuUyAj520Juv4nNnVA3KhGPkCG5weSgdCXOfp8QnlvCERpwU8nf18V/7ruAcR7GOUcy7rhCwH6bxI8CmEMw18EwdUAw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi, On Fri, Jan 12, 2024 at 11:20:53PM -0600, Steve French wrote: > Here is a patch similar to what David suggested. Seems > straightforward fix. See attached. > I did limited testing on it tonight with 6.1 (will do more tomorrow, > but feedback welcome) but it did fix the regression in xfstest > generic/001 mentioned in this thread. > > > > > On Fri, Jan 12, 2024 at 8:26 AM David Howells wrote: > > > > gregkh@linuxfoundation.org wrote: > > > > > I guess I can just revert the single commit here? Can someone send me > > > the revert that I need to do so as I get it right? > > > > In cifs_flush_folio() the error check for filemap_get_folio() just needs > > changing to check !folio instead of IS_ERR(folio). > > > > David > > > > > > > -- > Thanks, > > Steve > From ba288a873fb8ac3d1bf5563366558a905620c071 Mon Sep 17 00:00:00 2001 > From: Steve French > Date: Fri, 12 Jan 2024 23:08:51 -0600 > Subject: [PATCH] cifs: fix flushing folio regression for 6.1 backport > > filemap_get_folio works differenty in 6.1 vs. later kernels > (returning NULL in 6.1 instead of an error). Add > this minor correction which addresses the regression in the patch: > cifs: Fix flushing, invalidation and file size with copy_file_range() > > Suggested-by: David Howells > Reported-by: Salvatore Bonaccorso > Signed-off-by: Steve French > --- > fs/smb/client/cifsfs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/smb/client/cifsfs.c b/fs/smb/client/cifsfs.c > index 2e15b182e59f..ac0b7f229a23 100644 > --- a/fs/smb/client/cifsfs.c > +++ b/fs/smb/client/cifsfs.c > @@ -1240,7 +1240,7 @@ static int cifs_flush_folio(struct inode *inode, loff_t pos, loff_t *_fstart, lo > int rc = 0; > > folio = filemap_get_folio(inode->i_mapping, index); > - if (IS_ERR(folio)) > + if ((!folio) || (IS_ERR(folio))) > return 0; > > size = folio_size(folio); I was able to test the patch with the case from the Debian bugreport and seems to resolve the issue. Even if late, as Greg just queued up already: Tested-by: Salvatore Bonaccorso I wonder, but cannot(!) confirm, might there have been other such backports in 6.1.y which are incorrect? At least it does not seem the case so far for other uses of checking IS_ERR(folio) in v6.1.72 where were using filemap_get_folio. So I guess the other cases are all okay. In v6.1.72 finding those: block/partitions/core.c- block/partitions/core.c- folio = read_mapping_folio(mapping, n >> PAGE_SECTORS_SHIFT, NULL); block/partitions/core.c: if (IS_ERR(folio)) -- drivers/scsi/scsicam.c- drivers/scsi/scsicam.c- folio = read_mapping_folio(mapping, 0, NULL); drivers/scsi/scsicam.c: if (IS_ERR(folio)) -- fs/ceph/addr.c- fs/ceph/addr.c- folio = read_mapping_folio(inode->i_mapping, 0, file); fs/ceph/addr.c: if (IS_ERR(folio)) { -- fs/erofs/data.c- folio = read_cache_folio(mapping, index, NULL, NULL); fs/erofs/data.c- memalloc_nofs_restore(nofs_flag); fs/erofs/data.c: if (IS_ERR(folio)) -- fs/ext2/dir.c- struct folio *folio = read_mapping_folio(mapping, n, NULL); fs/ext2/dir.c- fs/ext2/dir.c: if (IS_ERR(folio)) -- fs/smb/client/cifsfs.c- fs/smb/client/cifsfs.c- folio = filemap_get_folio(inode->i_mapping, index); fs/smb/client/cifsfs.c: if (IS_ERR(folio)) -- fs/verity/enable.c- page_cache_sync_ra(&ractl, remaining_pages); fs/verity/enable.c- folio = read_cache_folio(ractl.mapping, index, NULL, file); fs/verity/enable.c: if (IS_ERR(folio)) -- mm/filemap.c- mm/filemap.c- folio = do_read_cache_folio(mapping, index, filler, file, gfp); mm/filemap.c: if (IS_ERR(folio)) -- mm/shmem.c- huge_gfp = limit_gfp_mask(huge_gfp, gfp); mm/shmem.c- folio = shmem_alloc_and_acct_folio(huge_gfp, inode, index, true); mm/shmem.c: if (IS_ERR(folio)) { -- mm/shmem.c- folio = shmem_alloc_and_acct_folio(gfp, inode, index, false); mm/shmem.c- } mm/shmem.c: if (IS_ERR(folio)) { where only fs/smb/client/cifsfs.c was using filemap_get_folio() in this context. Regards, Salvatore