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 4463CC27C6E for ; Thu, 13 Jun 2024 13:55:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8EA286B0093; Thu, 13 Jun 2024 09:55:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 899FE6B0096; Thu, 13 Jun 2024 09:55:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 761786B0098; Thu, 13 Jun 2024 09:55:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 5978A6B0093 for ; Thu, 13 Jun 2024 09:55:38 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E7DF3A00F1 for ; Thu, 13 Jun 2024 13:55:37 +0000 (UTC) X-FDA: 82226013114.14.29F8849 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by imf21.hostedemail.com (Postfix) with ESMTP id ECD311C0011 for ; Thu, 13 Jun 2024 13:55:35 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=mPx1wqoj; spf=pass (imf21.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.52 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718286934; 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: references:dkim-signature; bh=LQc5tk8/uPcc6kIjfLyJdfAXmEDciwpEQuvwL03kqrg=; b=DoP+OrkV6MsJygSa6BntXOdUkU/XQIsQxRorslIS09B2LdUKByS3LKDrh1q55XXSXO73Lk +EU38g99id9g0RaoDikzOKwoqFGHoLjm1VlWS59Har/EMbu0fBEcexxn/LfBYsf3Mbu4h1 M8QIUUtTTRZCEWS7hqJGjx6JmLMpEbI= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=mPx1wqoj; spf=pass (imf21.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.52 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718286934; a=rsa-sha256; cv=none; b=2DMvteDLLYfBZMFFBDKnGmKLZURwmQYAYxfykHciKUee6HDMpir50m31hgRuDE6eSsy0Lu kgbrTHu6gmWfXju1Ti7OOogPyrP5rv3rIefPMyYHgnUVotvb/WnzbaubYg+KSoHd4BGsB1 NonJmQDJneub55zELTe21gVQb6P0JAY= Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4230366ad7bso4737715e9.1 for ; Thu, 13 Jun 2024 06:55:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1718286934; x=1718891734; darn=kvack.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=LQc5tk8/uPcc6kIjfLyJdfAXmEDciwpEQuvwL03kqrg=; b=mPx1wqojVwTLHknDI1XcXVbDh0hpiJT5XFVz7j4niLwCVcF+RuhrB/I0nlNSpQiTwM pkkxt6pDLcWbgOx+YvUxj6OKuAAADbhs8J0pskxGhT8DKP+Ks47wEPa+bVRx9ILe8gTW P6E7wkKmOj/Qht+qND+CGVsKi/qB1YTEH378HXmFA/SExKkRkfLzifIu6V82mlue1D+y kQfA74/1YJlo8CzLtfba0xQAE3JlVGbfwEXLORINaztIyooTZZDoodhitJV9WDTh2PAF XtzjUHCcfVg+KMT47W9mCU6NyLkjlydW/zRAZdJCXJweWeyeSzxsNsNEzS4yRw1TrO0R tBIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718286934; x=1718891734; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LQc5tk8/uPcc6kIjfLyJdfAXmEDciwpEQuvwL03kqrg=; b=QnYET1fluR0sVKj80DYCTU3tJdtx2fDJ/qRJzA8iG+O73G1/U/TKPkTGF4LU2FICQT +sdFmEWFCsmJfRjG7mS+my89XqZEoRQqfORJJEfhVhd19pVgalmKDTHqRF8jeYpfTApe qmQ8QjzBExG1QSGpBctJgSsp+lPbRdh+HTyPgLflXtqdfEFJOzTBur0/DKFtUktIklrL o4a5vDnJyHbfu+jMw3D1qU5onAU7JVV0SG/P+Qshz9q0FTnN/ZcseeR5AUyW4rLW48fM T8u5Hf6jJfI7fcuumhjj8R3kOYMfKeNgKHOsR4aVKv+tzkTD34L7su8M/MOyvwoefVOf bD3w== X-Gm-Message-State: AOJu0YwjxayAW/fffgiovObkubZiU6SYBoCzqU+yrq6UeFxNoEOWRN1y ZbwMS557j52zwA7OCQiNANAhWvnHR7bVz4nFr6F1hmmEZhHmP+Ep3nkUsWpbbvE= X-Google-Smtp-Source: AGHT+IGi0a0z1CHczk/Aj1SWo8MmWIyY39XEMsRp+pSjScEhWq7p/zboWMoRUlINpgCM0MvHESuHpQ== X-Received: by 2002:a05:600c:314d:b0:421:7c1e:5d5d with SMTP id 5b1f17b1804b1-422867bf846mr57297785e9.35.1718286934275; Thu, 13 Jun 2024 06:55:34 -0700 (PDT) Received: from localhost ([102.222.70.76]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-422f5f33c6esm25969745e9.4.2024.06.13.06.55.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Jun 2024 06:55:34 -0700 (PDT) Date: Thu, 13 Jun 2024 16:55:30 +0300 From: Dan Carpenter To: David Howells Cc: linux-mm@kvack.org Subject: [bug report] mm: Provide a means of invalidation without using launder_folio Message-ID: <8b6bd8e0-04a2-4b51-9b29-74804ba11564@moroto.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: ECD311C0011 X-Stat-Signature: tqdbufypartojip9u9ceg1oaqig8sx49 X-Rspam-User: X-HE-Tag: 1718286935-40822 X-HE-Meta: U2FsdGVkX19mexznzuDxQP1P5j5SZKNVDVA0lI/m+bHy+JjFGV9abamfEcU5PyWtPLfprY1jIWEmsHZ6Q8oX8kz58F6tR0o8VxCZnxW4AYh9juQ8pf4Bwla1Fm5S8poYERu1umjs2ipS1f5Y3zONXVatkWGJvhz/jRaQUCXOKrlJXJCP03no3jnRY6DtTYhgGlfbBsbOEqEJlODzRwABlIPjZUUHKFCSA55FgZGrfpGbtN+zK67vhG3fhxyuxkSRCFORgluT+mV/sx4g18Nhii/5lb38VNwJQGQM1NVAAf84DFxha10PpKx6n5LOK/r1LV5NpY+ziN/cu3q0r/hKxyDoEcWKOuOYYhHrqpwGZsey18Kh+xkhtcnTos7bTB8LfB+IyDnOg/UM6pCwoZ1N8vbcGhwsqkkqg4twibICdMOQ6dx8pkNMZRCGfbejc84dEWc+Ndu7X4By+U26We7YjaSW9I7RmdKdIcGN1uxGh1RO5c9XCZFUOGXDlnKZweVHIvA4DhLUyRpnBMTwXthC6jW+NCwISOMyj8bl+Sx68AEBPZ9405y+Ubwb/1EDR1AJ1oK4aUsK+HiXdzUli2mVHL8DwJlOu11mF7p1fkhZqkcX/QDkfAkTyitj2cTmCDLV1kTQSYJB5zfp9Bb5MbgafIOV6W6gl4XQ2ZpnyENBaBvZD39uCHgxmv1U2ZlcSUeabbvDhkUNnToBUHEgQBhrJ8+UDUWq4oiMUGIw7BK1cLcdlvLY8x84RE6N3P3Au4oWkMjkQ6N/87UwR+JcNHLHBxkokwKqd27m8wGKReTVBA/hgsy2RM5p0avxgq9GCuA24l3KHvj/HfLXNKrsQBJY2IKjvNmrlkNw1brHS8buBB+e7zwODd/nqe6qPrW+pnA4fMLCqTE2aSE+/Sd4Ax/x1YqylPhxK8M8ar2DYhQiiFrd/Z37Z3qvr3+JaZeQ/IZjLCc6E49DijeU8Wj27vE lmfA8+IM TU47x5wNltivI9KZmg1d/04G2dXefaOxMW+YdHkknLGxaV5c/sGg0778mUHbF89CAapB7fki04yWt7iQeOx/flL4YmNDwsSlLqil7QxVJqKfg2M5qSgr0iwVmi/ytwPnVPdMcbpTdyEo52UT6fhP6cbrGuDYLi/uNaqRRoeW8IB33hmcKfSRwM/4zotomix7hOZnjpxy5ZIcEkiwHDtiTyLax71IbVOxjbwlSo1BqxYGsQVd/Vw5BzHhaDREPDLhN56W/1oOb9+XzKCZ6B1CG3MsICW2PGq3x0Eyq X-Bogosity: Ham, tests=bogofilter, spamicity=0.000784, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: 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) mm/filemap.c 4192 int filemap_invalidate_inode(struct inode *inode, bool flush, 4193 loff_t start, loff_t end) 4194 { 4195 struct address_space *mapping = inode->i_mapping; 4196 pgoff_t first = start >> PAGE_SHIFT; 4197 pgoff_t last = end >> PAGE_SHIFT; 4198 pgoff_t nr = end == LLONG_MAX ? ULONG_MAX : last - first + 1; 4199 4200 if (!mapping || !mapping->nrpages || end < start) ^^^^^^^^ If mapping is NULL 4201 goto out; 4202 4203 /* Prevent new folios from being added to the inode. */ 4204 filemap_invalidate_lock(mapping); 4205 4206 if (!mapping->nrpages) 4207 goto unlock; 4208 4209 unmap_mapping_pages(mapping, first, nr, false); 4210 4211 /* Write back the data if we're asked to. */ 4212 if (flush) { 4213 struct writeback_control wbc = { 4214 .sync_mode = WB_SYNC_ALL, 4215 .nr_to_write = LONG_MAX, 4216 .range_start = start, 4217 .range_end = end, 4218 }; 4219 4220 filemap_fdatawrite_wbc(mapping, &wbc); 4221 } 4222 4223 /* Wait for writeback to complete on all folios and discard. */ 4224 truncate_inode_pages_range(mapping, start, end); 4225 4226 unlock: 4227 filemap_invalidate_unlock(mapping); 4228 out: 4229 return filemap_check_errors(mapping); ^^^^^^^ Then we're toasted. The errors from filemap_check_errors() aren't what I expected. 4230 } regards, dan carpenter