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 D6314C021BE for ; Thu, 27 Feb 2025 04:31:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 004036B007B; Wed, 26 Feb 2025 23:31:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EF50C6B0082; Wed, 26 Feb 2025 23:31:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DBCDF6B0085; Wed, 26 Feb 2025 23:31:50 -0500 (EST) 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 BBD0D6B007B for ; Wed, 26 Feb 2025 23:31:50 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 64BDC1C7968 for ; Thu, 27 Feb 2025 04:31:50 +0000 (UTC) X-FDA: 83164451580.18.690A0D2 Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) by imf26.hostedemail.com (Postfix) with ESMTP id 2E842140007 for ; Thu, 27 Feb 2025 04:31:48 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=e+5Jnt1u; spf=pass (imf26.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.176 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740630708; 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=PEY3LjeYHMd/NM/6j5VcZJTh8Na8ZkiTgINYFH20qA0=; b=HdFj9YhM3nFHr6ORTWr1os+NzowT4G+yV2F18xGSfKuCqR+sW1OobSGIihHFoQ9OMkm3A5 OKKK57PT423nAce8LfBcyeLA76NNkr3VecAdM2iz5TCnBZwSz5O9uRJI3UGPhUzfzZ5esF taoHeqoO8k+Peap0UGKN9y6ciqpP3og= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740630708; a=rsa-sha256; cv=none; b=eABHQjdHDH541n1KzBIcLI09GG21A0jfkMDtUZZkR1ac4rExUNbqC0CUAkldpc04gdYgp1 WF5d3qh3Klv9pV9gQfpGi8E9R6ol1MMHigdSR71Osv0zn7YzvkoDrkVRsLf5+kydBpR2dl W5oLeA0dh+x2Fogt4IlyTfiDQjyMiDY= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=e+5Jnt1u; spf=pass (imf26.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.176 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org; dmarc=pass (policy=none) header.from=cmpxchg.org Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-471f16f4b73so5150871cf.1 for ; Wed, 26 Feb 2025 20:31:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1740630707; x=1741235507; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=PEY3LjeYHMd/NM/6j5VcZJTh8Na8ZkiTgINYFH20qA0=; b=e+5Jnt1uM8zuHVxCY7E/67jIGolEkO+HTs1NxYPPZjskJP8dM3zvVkB8xofVR+fV3/ /e8Q7H/+XLTtgnPfcnu1ce2g7GFf5kx9+8nSKR/qdb4NQ7cZCfg2unQpFqeP6HGo/Z9w t9h4Jeuphl2i+c7xXbnXi2vzQtY+TFVYMUMQva7KL9In3nDbySmW0OYYIlQuG12RQzJ7 1+HeFS7Y4skFXaO0iva6kVjr8DBzlB1eeJfmCeuBHqv0n7sJgtrYJGexIiarxuIj6Yx1 wxBEIqsElM4+r523/NHXVBhPQ00IteH6VBh69S/A/T4EfPjylKYZ6o2BCUTSpjA9+ioF y31g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740630707; x=1741235507; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=PEY3LjeYHMd/NM/6j5VcZJTh8Na8ZkiTgINYFH20qA0=; b=lBPjU8mlI5FVm0nOa9zjK91SH/qpepCNODkXrGZYOYetYHPfOzQUw1xRawIqAEJl5g RGjRxT6kiGMHTFhQH9Y1jl2f3EJkqwpWXyCNfXgXdcjop/R2Bi5HwFJcj0G4EqOlEyeA zotuRSGNoKwBrXfStItkHcBn1JziZCxs0aL6ANSA5RHzEkikDwkYUopc/r3YxD9poqae KEiR6IJkhVHKiqKODqsVqKllTREhXI4gRcLlDQoYulrJqrquyr6LVy1pYvJwxgR3lxwi ldASCR2WOR3+Ssa6uC6hTSgjE50e1HXNFG/bQNwkiUD/ZbR0KgnRo6FYiE9aEsf+SM4w 8dTw== X-Forwarded-Encrypted: i=1; AJvYcCU0IE0Xqwl9USs+sWrVGJaeg/ZZsm/9Ymec7NfDqEt4+X67X/ksizi220BdhBxXaBY6wORnxijykQ==@kvack.org X-Gm-Message-State: AOJu0YzZLJ18u3aXThCryXurldsk4IV3i6Pn90t+acwQkFsXoA0Zr7Ys N7093iY3ejvkahNfxD/BmZ0RtGFFAP8VZUTig+xUgwblALizMOp0nCQbZBkUMcQ= X-Gm-Gg: ASbGncspHIBUuqIyqZ+1wT4v4Uf7hxcQ09C0j6pNSx912hf5jCY6/Yb1D8APMmxKRfl +2oXMqPrg1iBiynMfU2+bbDC5VoMfZbSRkc3qWskZCr/JRR1dFsSw4fPSSbKeAWvRrbImwMb80k vndX8HKEIJoMMFT9zdm+QMSqGKM9UxPU8B7nlJYqpChI35BUlgDBjf6b3yt3cpCwn9SRYxCrHXv p8+NcDS62flTRunYP4igaMsdOfTXCKYEnu9XyMp5/Y6Wnjp6sj7YjgDHDvC20RNUBk2NcKD68zy qTTimTJP5NgcFON1xRMZCU4Q X-Google-Smtp-Source: AGHT+IFGYU0C6yXnxzDeStOhCwoYOsdhy3SbzTS6eUevEejPrNyHPqTne+RSMEnKkPn2ESpmnoYiLg== X-Received: by 2002:a05:622a:1342:b0:472:70e:8995 with SMTP id d75a77b69052e-47381380745mr94338981cf.52.1740630707094; Wed, 26 Feb 2025 20:31:47 -0800 (PST) Received: from localhost ([2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with UTF8SMTPSA id d75a77b69052e-47472409ab5sm6275041cf.63.2025.02.26.20.31.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 20:31:46 -0800 (PST) Date: Wed, 26 Feb 2025 23:31:41 -0500 From: Johannes Weiner To: Yosry Ahmed Cc: Nhat Pham , akpm@linux-foundation.org, chengming.zhou@linux.dev, linux-mm@kvack.org, kernel-team@meta.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] zswap: do not crash the kernel on decompression failure Message-ID: <20250227043141.GB110982@cmpxchg.org> References: <20250227001445.1099203-1-nphamcs@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Queue-Id: 2E842140007 X-Rspamd-Server: rspam07 X-Stat-Signature: sotodcg5o5tffkm7mp1k8dbzrshcwttn X-HE-Tag: 1740630707-652021 X-HE-Meta: U2FsdGVkX196hQmecH+wRb0xCPe31UM/X+JnVtjAfu07T4fLi7dsis7zDMOnm9O4vKl02IwphpFZwqRLvjOCZPdes+wifF1Ct/znU5TrjtXmZoW1PLA+VwNE8T0SoB2oXV32W7cHkdP7efY/evLMMJTQk1Fw72mP8M3bOYDl58Dpo2FULq3FHtha/d2Yh8Gsk1nQKLoPEmLKpP2D0zyzCI58Ql6ke132HeIifl7SIwOukMzRPL83e2DV9me0u58sR9h+dEKwxkTfD/S9XN+/V7ZBuMdTQ2JE7DytOafClSN/jI1ntMiTXEhRt5cwzOUsz/Gc/PiaPXGR7SbNtowBZ7bhHH0XMxTjoVM8r9YO+U6BJ5C33GYlK8mGIvasz5asEzuAXX0EtuGOdBUDpW6Mcggpni2MA/ROZsyolidvEHijDWE/nyqx9Vcjb8Q8AwNcMWYXOvFYfjh/Br75pn7E7tnZgxu9RnIJZeVkT5DbZdFli7SDdI7c0U4H57EWjAGxU3QcKjR98H9jXJYOg1u471FYY/IEvm32iGLDuWHw4prkK6hZ2J1zo2MbxL0GPKHgHaCh7rb4ywl2zXZNtGe8h2wbmok6nItyJlQY1YpJT5lOrotKQTZf0WY6kgXaYpksNrFwcN8u0+H6ISbKdM4a4js9DheItEnHzm7wE09OL8e0csqvkOYHGwsG7hs6LNlEkBEAtNUdTdWbtpgmCRS4R2xJmb4t1Pw3kzUIt7znn67epLXfsWdywfQvmvoPWAE/OEa9paKM3WgAXL5rvdNbHcod5r32zFNtq44e9nsqBLwtlJ1xLvx/5ezaoEumnqBlQdy5poAyp1a0kZdU5dhFWK5MJ08b1RW/6ikBsTUFT5nblejMQ9nqaplx0akWIZBRVDmVmbGryRLOqtMJpCuwLBUcPEkvADk1ZKZW9Q/UoPDqol21tm83i0jBdSZoY6DBoKMhnNYsCG/sGtNw6dQ V0LTvDcf Mi3/eaC4+wQsEtOkCOhKDVCpVR4olCwQhULdBm9b59eRBr2UZ1lvdxfnu74YJHCOwRLcj7uvnToJcpxrCzi+gOJWj0goEs1NVN3YL/MVNBzmd7FCHVg3Oh7142bkE954myWKhxw4A9oKgaW3GWHL9guwqn76gHq26U5llKj3AKoIafMPaKfMAo45F2EjmmJkSwKTD/q5P1IjDeULWLTk9Dj3Pak+5lh6ctxHGLmYPwkparWzNh4o9+FBatb0e8IX7/0UC/0SUFI2KZyXOY4UDNl1vIakxUhC+1A6n/BNBis4S7Af4XEIz80NCn+VRFbfSsq8MNuNJwMpS/fru7fP92ISMHAddF517IN2vrpswaRVUeV3+bAKoejjEUBIQGHZz9JJLxGS0RBHnyESbzFIlmvo+qo2RfD2yKqvb0PjB9BgzM+mySMFj1or52vKWUqPFq8g97p97K1o1hGPBHwiVayrvOg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000007, 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, Feb 27, 2025 at 01:19:31AM +0000, Yosry Ahmed wrote: > On Wed, Feb 26, 2025 at 04:14:45PM -0800, Nhat Pham wrote: > > if (WARN_ON_ONCE(folio_test_large(folio))) > > return true; > > > > + entry = xa_load(tree, offset); > > + if (!entry) > > + return false; > > + > > A small comment here pointing out that we are deliberatly not setting > uptodate because of the failure may make things more obvious, or do you > think that's not needed? > > > + if (!zswap_decompress(entry, folio)) > > + return true; How about an actual -ev and have this in swap_read_folio(): ret = zswap_load(folio); if (ret != -ENOENT) { folio_unlock(folio); goto finish; } read from swapfile... Then in zswap_load(), move uptodate further up like this (I had previously suggested this): if (!zswap_decompress(entry, folio)) return -EIO; folio_mark_uptodate(folio); and I think it would be clear, even without or just minimal comments.