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 9C9A8C27C4F for ; Thu, 13 Jun 2024 15:27:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DDC96B00A0; Thu, 13 Jun 2024 11:27:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 18E746B00A1; Thu, 13 Jun 2024 11:27:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 07C5F6B00A2; Thu, 13 Jun 2024 11:27:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DEA8B6B00A0 for ; Thu, 13 Jun 2024 11:27:35 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 823FB80220 for ; Thu, 13 Jun 2024 15:27:35 +0000 (UTC) X-FDA: 82226244870.20.E59A2EB Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf13.hostedemail.com (Postfix) with ESMTP id 3320E20008 for ; Thu, 13 Jun 2024 15:27:32 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=mz9v5sLL; dmarc=none; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718292452; a=rsa-sha256; cv=none; b=tP/W+wIjCxP6enh5kWr0QMI99XZoeKsae/vK+Z2YkA1DdjLSJ22bvaeIWXBZl2Tv+lEoDo PuC+4ZW0uB2/nJCsbZNoMW+9E3inu2XlOx/jRQVEz5Zqh9G+hWYuMkVmd9ip8xOAe7eHtG zoBqvJW7WmcGjjuccSU2XL3GHz46rS8= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=mz9v5sLL; dmarc=none; spf=none (imf13.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718292452; h=from:from: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LOlbv8znOvI0IP14C94g8NaNgiykaUXtqZjMUPywTmA=; b=i+4riUAdnY7P9ciUnABT7JIbeCOpIZT9oRPQxGKeuAJibzYnCkrbKmZ5Ee06kAaVgwIomv xKP+zwa1cP1dXIutraSN2po4G8792iYVz/EfBfMVB87NBekG8Pv902R84Fc6sNfmigQdEv KmhfMDFk9PR3To1JzzkvssKMSPepupY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=LOlbv8znOvI0IP14C94g8NaNgiykaUXtqZjMUPywTmA=; b=mz9v5sLLtQhr6s7OLuccoFZxTD JK1zXSC9nBcbA5clRVa+RBuRPp1zS7ZPT0Q5Bt+nh7JORf09uDrfWLojPSUqg7Lhz3vqNJKJ/qR0a 0LVyUMBonpd2Fx6Y0r1eQyZmxJXZ+mjWT+QXl0wuvocGyZeYAjjSpkxBEGWhQ7b/NMjgPaU/hUJZV AWNsm9yMZ6F6HgJWgGt7AEOeaoLYmcskDTxkkComGTLAs0xpkXYrzlaVR+nQpGEjeEm/uBi/a5afl ZDwy0XBj6TfmXt6n5ara8L7HOYhEibdH0ctqVxcL8aet2SWUoykrdvV0GEUpf5p3pzEdgJoXguAGn h99NOWQg==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sHmMM-0000000FuFQ-3fQI; Thu, 13 Jun 2024 15:27:30 +0000 Date: Thu, 13 Jun 2024 16:27:30 +0100 From: Matthew Wilcox To: Dan Carpenter Cc: David Howells , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [bug report] mm: Provide a means of invalidation without using launder_folio Message-ID: References: <8b6bd8e0-04a2-4b51-9b29-74804ba11564@moroto.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 3320E20008 X-Stat-Signature: 7tgh7cgae9fhds8hdgbohj97p3a1tygg X-Rspam-User: X-HE-Tag: 1718292452-988045 X-HE-Meta: U2FsdGVkX1/yqfTEidnMjtBD4X1nzX/4DyiDyWEPbJ5+ilAxCeCIQiUkNMbXER6SSEB90Uyar8i741CeN27lmgGvbS8bmlODruOIu16z4CD59e7/9K5ExjM3SPshfS3OntFvDGSyHEhAQcDWuplvatspa9zcAqRGattXtVHXvKDiVa6w0qHKHVdMR8Wnp5LEe/zybMWCCIPy5IiKIiBBc8KG0+1oMai76VnDDT7skaTcSeQaVl9xuhkanN6ZQlOCgEGFNVyeGJk4HMeVPC6g7eKi2kP0fIQvsXPLgJx2ogMVi78jQIYfCxQKMQ71JYTrZjliFQQtoTQ1FcynN5ZRB8FiK8DRAuZK3y5esUvsAKVOPQtKfFaq6PeSvqyX5C/adoG4b3M8o8SjLIu5e9lHKC/wOnkXZbaCS/eMwJto7Jutmm5NuKVaoxnrekLHdCqMq9JaWdzo93CEf5JKonISjJo8PB4ZiDM7hk7qNvOEGfeFYukQimKVjf5dusp8/DkSXtIjiaE/1petJq8huSMlYaMJZ+g9HDx2GbzbM0InZjOw7Aj8Yys2BRCZBOySU+gWhfTKO5+m7cxoVAZa5n32jmWojLQ1mHfFZx7HHqS7usJWtskZRInA1FPvC7yru0RfFOjhbPpT/ETnNV2CbD5yBqNQJLm5FYCnl2zTgWw3oR6oUsgKZyrepsM9OLLP8GdPuhxKx/uyQvJ2UiAedgEjAd+R9cd3bbT7Q9qQDerAfLT4aCDsgRbI4HQ5nYJbwl3XaLScq5iSposGbT6eHyd47UD0cxGNPxeau7UgK7USX0c+Nv8HQnnZZ3T9iaQ6o91QdRNddTnn7Q8UBjBEKwdGtLjVzd2+z024byfHcjtKGw/gEyiEQxEml/QOw5pOYzSeFHLWgkLTPNdqMVs8I0R6kH3ifc7B4fe+7nD62BxH228M/ciEIT9aNbIJoYk2ZG9A+UmIU8+kC5E8aivtGr1 6gchuX+1 qT69uSMqWtoxl9qZB1yLq8FPl1qdYgQzHFKg/37s6yDW3lyWtajIJljwemYqF148o7D0zsJeFoQLMDb2vFEw42x+VdJAp4MsgCrFyFIX2c6+0oDbzpOmz9wUivivhpw1OsIgvye4uWqjrrfAPvNgxnEMMI6WEYZ/FkMfhrgbA8BVORnWAZrcOXfvkq/i2WS3qYUjJ/WID/rqzA/bW6+7M1vlhyeaU0yqsoUVjXbz6BphkwHTY3O5edwI1c9HwfCZeruyDrBogelwbcFKdAhjIKUh03RNvnp9SObLq X-Bogosity: Ham, tests=bogofilter, spamicity=0.001688, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Jun 13, 2024 at 06:13:19PM +0300, Dan Carpenter wrote: > On Thu, Jun 13, 2024 at 03:56:23PM +0100, Matthew Wilcox wrote: > > On Thu, Jun 13, 2024 at 04:55:30PM +0300, Dan Carpenter wrote: > > > Hello David Howells, > > > > > > Commit 74e797d79cf1 ("mm: Provide a means of invalidation without > > > using launder_folio") from Mar 27, 2024 (linux-next), leads to the > > > following Smatch static checker warning: > > > > > > mm/filemap.c:4229 filemap_invalidate_inode() > > > error: we previously assumed 'mapping' could be null (see line 4200) > > > > I think David has been overly cautious here. I don't think i_mapping > > can ever be NULL. inode_init_always() sets i_mapping to be > > &inode->i_data and I don't see anywhere that changes i_mapping to be > > NULL. > > > > I don't really understand the errors from this function, though... I > would have expected it to return -EINVAL on this path but it instead > looks up if any error flags as set in the mapping, otherwise it returns > success. Assuming that the '!mapping' check is just a thinko, then it makes sense. The other two things being tested are (a) Are there no pages in the mapping? (b) Is the end of the range before the start. In either case, we have invalidated "all" of the pages in the range (since there are no pages in the range), so we want to return success.