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 0C678C7EE22 for ; Tue, 9 May 2023 17:37:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 57BA96B0071; Tue, 9 May 2023 13:37:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 52B616B0072; Tue, 9 May 2023 13:37:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3F2EB6B0074; Tue, 9 May 2023 13:37:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 2E54C6B0071 for ; Tue, 9 May 2023 13:37:35 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E713D16081D for ; Tue, 9 May 2023 17:37:34 +0000 (UTC) X-FDA: 80771423628.29.22FE8BC Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf07.hostedemail.com (Postfix) with ESMTP id B26D84000A for ; Tue, 9 May 2023 17:37:32 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=DLP2MnXW; spf=pass (imf07.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.46 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1683653852; a=rsa-sha256; cv=none; b=C4CFcNmsuJCkC7NI61erTUtOM/Y3Yh+Tp0BHuwpd/PrI2IYLx+QOOMf4qs0b7MT92inbfw vZ97VKeh0UNxVw2GKtWRIpVpkNcFyNG9ykvOOwUt8mF07bBYl5JpC9E03AjLOERS1HYavd RmtQTitOH9HxZoZqR/ekP8UXaVQxKkI= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=DLP2MnXW; spf=pass (imf07.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.46 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1683653852; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=RM2fcsPFrEudeR9j/MWzHsva1jmiluw7ikgnqGCbGAc=; b=rMr0ZGowCFmk+3jk6PqGwBJBvu+44Yr8L83BaNLcNNCOz7AbCQ9CJMcCG1vZ7V+RF8SEUy BvHYeNAuA5hDb41CS5Y8eePq0JqI7ubkD31eaWQgYFzjDrJLmu9na2HnCNuxbTd44b3SJc 8VRxusJ/iVbrFiwoy+2W/Gg94mxuhXw= Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-50b8d2eed3dso9587802a12.0 for ; Tue, 09 May 2023 10:37:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1683653851; x=1686245851; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=RM2fcsPFrEudeR9j/MWzHsva1jmiluw7ikgnqGCbGAc=; b=DLP2MnXWE98VXQEUETd1ohF1xjD9gCZ10m3gIGnL3OiMMqwrsuRJJn0A2ky6QYWNCn QljKqXclV/yPnQSBM+5EPasimaji7/jCnQq2mii0F1sI9hxSwDvWUMqwF2IhZeph7hZl uDKTdcTr+EM+Sso8CKFhrIwBBxCoPXgF3rdZY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683653851; x=1686245851; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RM2fcsPFrEudeR9j/MWzHsva1jmiluw7ikgnqGCbGAc=; b=DLaGKqP9NOOL/0i0Lc5qLkbT59XKcS9Y7SoAohEsd0hcTpct66HBHr6VfDEF1ulxKH f41NTebPu8FdogLmAABABwWcnSFOnQJMS73eDlV8fKphSUfr27LV0F2PSxGcVDIS8YBS JERfWQ5+2iz0Pn6M1jAfk46dyu77iikd/i4GInQROLACA3G0Efie0XtxeIrdw8ePwNnE LnAsTbrxSsRd0V5FjCYusOje8wx5TAYJfO+NpMRvwcE+Ss/lv3WdWK38JqrYh99YCIhI dV2VIcFlw5GOszV4Cj0+RJww/wptBM60XwPGJACW3G6qSa9tzF7zbqszftK9956Rwq4C W0BQ== X-Gm-Message-State: AC+VfDyVljldoFQd3xPFc7jwi4PXBeZJI+VhmqGoPtfZyioJEHvuwitk 414uG59YWYziNMm/xDsQnxOYn3sY0GAw8Re/GncH/w== X-Google-Smtp-Source: ACHHUZ7BKdz18AsTVeoiRgkXGPVmvUQGJa6ep6JRK+OALRDppQ32YWkVv5j8pmCamvZcBpCafSYbzQ== X-Received: by 2002:a17:907:980a:b0:968:8b67:4507 with SMTP id ji10-20020a170907980a00b009688b674507mr6510344ejc.69.1683653851053; Tue, 09 May 2023 10:37:31 -0700 (PDT) Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com. [209.85.208.44]) by smtp.gmail.com with ESMTPSA id gf25-20020a170906e21900b0094edfbd475csm1541935ejb.127.2023.05.09.10.37.30 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 09 May 2023 10:37:30 -0700 (PDT) Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-50b8d2eed3dso9587761a12.0 for ; Tue, 09 May 2023 10:37:30 -0700 (PDT) X-Received: by 2002:a17:906:9b96:b0:958:4b79:b214 with SMTP id dd22-20020a1709069b9600b009584b79b214mr13940109ejc.18.1683653849929; Tue, 09 May 2023 10:37:29 -0700 (PDT) MIME-Version: 1.0 References: <20230506160415.2992089-1-willy@infradead.org> <20230506104122.e9ab27f59fd3d8294cb1356d@linux-foundation.org> <7bd22265-f46c-4347-a856-eecd1429dcce@kili.mountain> In-Reply-To: From: Linus Torvalds Date: Tue, 9 May 2023 10:37:12 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] filemap: Handle error return from __filemap_get_folio() To: Dan Carpenter , Anna Schumaker , Trond Myklebust Cc: Andrew Morton , "Matthew Wilcox (Oracle)" , Josef Bacik , Johannes Weiner , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, syzbot+48011b86c8ea329af1b9@syzkaller.appspotmail.com, Christoph Hellwig , David Sterba , Bob Peterson , Andreas Gruenbacher Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: B26D84000A X-Stat-Signature: juf6eamar8ogzkkyw6nzdqeamtnak75b X-HE-Tag: 1683653852-654051 X-HE-Meta: U2FsdGVkX1+HaKaMnYpvNSuN2oi6jARjNvinrGU9GqR5iOue55LBWhGPyH49Hm3XWmaEXE3CI4jVSVPyH8gmz4i4eBK7c4knTcjzPB/9TWJFoVe3dO9aYNBwLr5GwgHdmU3U3f1e9sGfdtMQ1usu50g9fTcTg9HYDLP74APdiZy3Ud1WcU8gTGoz7WluRtQL5w8tQRURAWGfZVRwwloS/j8N4K3PFx0Sg5x1P5gcxHQ+e3H1fh3mO5QbWoNoJUN1raC5X5OB0+DlzibKUTB6G+eqSMlHc4S6p0nToFf18z957rzHuOcEuHsQZV9Wh+W9l/1GTyX5CTQg3ig66Yhgmk4cCjMGJMrfghgdYBOpnR+c0nKgFQ+bCDLjiRMAIt3Jp1f+ymoftWnoCNxqICoilfBGKtbhrnGdp1o5Ox5iENwnA1ravXPtQNN851KcKZi/7EHMm31XSetYXn3V+HAWLu1Vp/HQ4Ko7uKLEN2ep8kPShX2mCEVRSZqdvg48uRmYnBmSMchneQedVMUsU5VNv2ctt48I8kar7a5Oqn2hroxXFo3v9JtWSYB5Rm4GAA0lgreFv+xODHcFvRrCXtO22RmU3rKrVV+fe4cJyhVtvae/YGhWRMqMv4UD0P5uQiEx9rbl8kHTKy1QYtazhDCCeZL0//uwTmlVQUF4g8oB0reTe1FX2XB6vo/eNq4/5RWqZVzelQLQUybcdl34uDb6qkyAnz1HW1ot+OpXETAf99PVVSblRUGGD+vdR9Z61YqL5EL4ic19QqXm3RH0/QQnb0lWffnDxYkAumvOIcviw5rCB/bq6j35fcckw9our0huRTmP+tZ6SOw60TQAjkLvLfKkxyKgHa0pLSk1/EQieFlfdMGDQFRTfEL3N/0jI0FFib/CyPioXLCUrQVIzAxS5UUHwtRcZzWc2gIQv7ez82jQTmjptXxJb8ghd/iKMMTuzPDN3zeWl1I42HQEATU LYudhq3R 0T+5iN62XH6T7zMIZEQPQinX4QbwtHYb8F0P43jcQ62/rfK13QFyJpq5+Xkj2MC+341qiBD6giXNA7rvrg5aQWrC4Np1klw2Z9WmG9Z8bI8xdigmzz5llEJ2xNERlvZp1tS/1fVDaZ30Jxda/xI98+tYlBlLhN7YXDo5IyYXUiiSXcb78JeqDh4CHXmPZxb35T7+fuqM/0LjCPRgrNTEn801SVU7tyk3lDC/mR0fMqsLdBzI7lI/ywICFlHThCyriGgT8EttxW/WokxM5jiMdmNP8oL4fj8ZWBc7XCTbDLjgj9U+ZIKgn8mKHgFT9FiOlNLrHQOUy4yDxtUVNx2bzwdV0Qf9+jIbcPnlFl/YW9itdgyE2Ig9sM2FVV6Lf8ZxbGj+yMJqAitSBQbKdHcj/Tptika+WBewono1Sj0waYwvD7F4qB7/kpw46ai1KIYufAEsbqn8PFNuXXQEnMIfShMayu+sLHpD5oop71+mxI82tYwlLrx3qNYSbb3jdM4UKcQ9BotnRyjRihhSF8sQpnGLhN4kSdNUXl1mz3U12oEIfW/cFTGprGdmlbTlV1cvfV+KeFc16t1jW4DV0e2eJmEwbXhXgoDdy7xSITGnijznmd72vs41GRgEN6SC6PoKDMzZ1tWznredSUz5w9l8H0EAk0QTkW4ZYploM5ahFNpDiB6HwrxVF1QjvL+l/ofO8B5dwIOMAX3zwFSiTFIwHd2pN0j8t2XC7PEutpejE4EUmdh4= 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: On Tue, May 9, 2023 at 12:43=E2=80=AFAM Dan Carpenter wrote: > > I ran the new code last night. There was one more folio bug (but every > function in the call tree triggers a warning). > > fs/nfs/dir.c:405 nfs_readdir_folio_get_locked() warn: 'folio' is an error= pointer or valid Thanks. I fixed that one up too. In the process I ended up grepping for the other wrappers around __filemap_get_folio() that also return ERR_PTR's for errors. I might have missed some - this was just manual, after all - but while I'm sure smatch finds those NULL pointer confusions, what I *did* find was a lack of testing the result at all. In fs/btrfs/extent_io.c, we have while (index <=3D end_index) { folio =3D filemap_get_folio(mapping, index); filemap_dirty_folio(mapping, folio); and in fs/gfs2/lops.c we have a similar case of filemap_get_folio -> folio_wait_locked use without checking for any errors. I assume it's probably hard to trigger errors in those paths, but it does look dodgy. Added some relevant people to the participants to let them know... I wonder if smatch can figure out automatically when error pointers do *not* work, and need checking for. A lot of places do not need to check for them, because they just return the error pointer further up the call chain, but anything that then actually dereferences it should have checked for them (same as for NULL, of course). Linus