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 CB358C25B76 for ; Sat, 8 Jun 2024 04:08:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 366D16B008C; Sat, 8 Jun 2024 00:08:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3156D6B0092; Sat, 8 Jun 2024 00:08:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1DD836B0096; Sat, 8 Jun 2024 00:08:44 -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 F3CFF6B008C for ; Sat, 8 Jun 2024 00:08:43 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9F063C05C8 for ; Sat, 8 Jun 2024 04:08:43 +0000 (UTC) X-FDA: 82206390126.26.300BE00 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf26.hostedemail.com (Postfix) with ESMTP id 52B5F14001C for ; Sat, 8 Jun 2024 04:08:41 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="MP4gR9F/"; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf26.hostedemail.com: domain of mpenttil@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=mpenttil@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717819721; 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=DTizEaaqhSpnwMjwXtrrvGrCeV6DhFjXTqgmOLq3eUA=; b=5D4Wso1EQf9k9ocwGlvzTRn/II5kCpd+yf+Wf6LQzTuuohfrrUvY53ni8tdh8G6TwetUp1 vMNUnFWH7tC84owf78j3rO9O+VZUd9ubAaHJAASmGd5jtHItywcgqFov3tB4ozTeNmpcgq Wu1wWTUkG8lvRGPbpIFQd6bXxjHvc98= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="MP4gR9F/"; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf26.hostedemail.com: domain of mpenttil@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=mpenttil@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717819721; a=rsa-sha256; cv=none; b=hfpxmZPmOtSFR53h7eCEAyHdwnGTsfYUitJ73LUh8FboXgBwMY5TM4CpZ4N7K9V/reFv9J hcgG4+yrLMFtsgUlKdTI2fkIOFFGqCn6AY5ed1OolQXNyhulPchwkdmzJVUrfHt4q09H/O dD1olMMCpEH3zWrK2ySRBAnAW0N5B6o= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1717819720; h=from:from: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; bh=DTizEaaqhSpnwMjwXtrrvGrCeV6DhFjXTqgmOLq3eUA=; b=MP4gR9F/oNYgrOXuU9jgd8Uy/OaXTKGrpFlRr1Z+ZOETrQVIZtkucco51BUs5ffy2ASBWE rfdKEvydhYQz7X0R90yJDHNzZgyM0CzAvkjnSW46qb2laY8weU9hMlfMRLKUUjAOVDOIqN t3ZT2kvvWaTgwEIzVaJvR2K8R6uVilI= Received: from mail-lf1-f70.google.com (mail-lf1-f70.google.com [209.85.167.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-645-g4tN5deXPKiS_9WuIefxZg-1; Sat, 08 Jun 2024 00:08:38 -0400 X-MC-Unique: g4tN5deXPKiS_9WuIefxZg-1 Received: by mail-lf1-f70.google.com with SMTP id 2adb3069b0e04-52c7fca52f8so62593e87.1 for ; Fri, 07 Jun 2024 21:08:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717819717; x=1718424517; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=DTizEaaqhSpnwMjwXtrrvGrCeV6DhFjXTqgmOLq3eUA=; b=a2DD5pybApTe6SXLgTOoxKur1khOD5xUCgA+LAtaJVQ5sXJFHhHHEtYErO7ht01W6y yUnCOetzRSQG7BhVMtd5AU9dGKU89J7xD7A6hT/DKIR1KwC36PJDSalE/lhjCBlrUAy2 Ii0+q1iXtJayBdiUtB15mncyqhzD3lstmXnYk+QIAPUejelrf6SFYrex2/Hf5VLYnrSw FLQZ/1x4K3YweVtMrMNL6keEL5srlPrbh49Wsv8rikfDOZjbL1FN+RfALQd9MGZw9pGN yBSUmVHyByS4d2i7rYoywSXKnyORPw0Ym3p4tzHzmSLu+11t5f0VbpExXZ1xi0HD7X1A Fleg== X-Forwarded-Encrypted: i=1; AJvYcCUn+6wzTXP3RnWsb1D6pnf/ZPi1KLMkXdTEtJpqZPDH8C43maamWENj2nK8Xa2Hh5gOP8dPLj93Ggz1L/TnvJWwG/Y= X-Gm-Message-State: AOJu0YzdyN6XwPpNfXuuL/EJ7kd/RHzDoNgadN3V6otaNJL/CtaJOkem 1aFG+r2ASoKyj92SMpXbzXQo8AZGaUygggs70Y6MUnwepjHv+1MYKIZTAeJyQXbgeyN6myvQ8Er kyWwFppfYdPl0ui+699nhkrGVcLM1OABNfjpwzorxlw7kMEY= X-Received: by 2002:ac2:5042:0:b0:52b:c140:5d5 with SMTP id 2adb3069b0e04-52bc1400742mr777365e87.2.1717819717328; Fri, 07 Jun 2024 21:08:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEFN5pkegTgaO4mm1YT1IXKdAFuULGC+9wRXdHWSA1Ql/+m5SjGH+cIPu1UQIm6nkKulEcOYw== X-Received: by 2002:ac2:5042:0:b0:52b:c140:5d5 with SMTP id 2adb3069b0e04-52bc1400742mr777352e87.2.1717819716843; Fri, 07 Jun 2024 21:08:36 -0700 (PDT) Received: from [192.168.1.86] (85-23-17-83.bb.dnainternet.fi. [85.23.17.83]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2ead41dd2e2sm6969941fa.133.2024.06.07.21.08.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jun 2024 21:08:36 -0700 (PDT) Message-ID: <2821278f-bc94-c147-d0fe-8cc52dbdccb1@redhat.com> Date: Sat, 8 Jun 2024 07:08:35 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v2] mm: zswap: handle incorrect attempts to load of large folios To: Yosry Ahmed , Andrew Morton Cc: Johannes Weiner , Nhat Pham , Chengming Zhou , Baolin Wang , Barry Song <21cnbao@gmail.com>, Chris Li , Ryan Roberts , David Hildenbrand , Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20240608023654.3513385-1-yosryahmed@google.com> From: =?UTF-8?Q?Mika_Penttil=c3=a4?= In-Reply-To: <20240608023654.3513385-1-yosryahmed@google.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 52B5F14001C X-Stat-Signature: bg6qj7yjgwgotwggnhxcdsk9w53gt544 X-Rspam-User: X-Rspamd-Server: rspam04 X-HE-Tag: 1717819721-353673 X-HE-Meta: U2FsdGVkX1+50wt0/tYkK2/Fdz5CCvsgdJ8jCPARCzeC0USnbUhJ5q3EGfHyT7my7oWr+W4AVAgCp8xRQpnvEecS4TVx7tvHqIbg65+X5iPCgN+5BIZe7oRC8GpjfEFiDqdcG2U9N7pRNSS5Ja/ODhF9kVZ/4eQulU4LEd3q0m9d02aatOhb11ZqJmGEbyex9wrR7li1Tmo4KOn5R1nwCYp8/ejBf9WmBf985H2ChIyxaF+acSrkjCSaTvWgc1QCrQSCSZEdrrxs38coxx9g2JtYClnPpNM3639E70IpSYGdEmvq4hAyEypeB8LsB/0jE8jp7GWoVxF049vclYZWmIMNyv0p7QQZfaPnZ/FwdKiSAspQk3omHVSTLX3gLOINRmnQabSbeWLPAL461cjEOv0NA5R4O6KveFMth0ZGWhg8PbZnIH8hBCK/SzjkF+R0sPWRJRZVuCxg7R1TDUpnC+dtU2CrS5KrsQcTT4GjofK6icgXuTaG0i9uSnt/do6iA16EoDktNxJWfOQyx/+pZLCs8l6EcjEOPIhLLwd/bUL3ZDmf3RXJiVyT3S6XUgcI5/nS0st/hezU7GVCfekCRqEV9pE/4BtXfsEHIBjdV+2rf4EWf8ChUHu3azonuUEdAZYzxzUitiCIMww0SXLhZZmBRIWoaEgUxEregcJMObRdFN1Pn1PsgUr0SYojUbbIz+H2VW/0fARnIcHLnXHT/D1E43GSWpj8b44JcNLNmFUb8FSdr4XSF9QwUVQNEt5Myrv5Wo4/qZ+u9ZkcLkC8DahIC/yNu6qTR0DtOy4pVETqU14u2cUCZVICP3OWV1fdTmifLUaxpoEgttMneo2WQxWcxoirTBI3Y2BQjS+B32YUjTGKKnovxgBZ+T7yeMcpZmIXdn9a4ILlA31zp9jkyfB1D0p9pLBSzowWQ8uCN+kZ9FFS799X30tCgxUk8tazWVF6q1Tpe150LazKgF7 GRrQEpi5 QyikFLGvAIe/RcrwVJUwb8JXibUuQR1+2noLevi9Su1LSYt8NJpvSaHA2FaNr6Ltn28Cl/yQyNZpQZKJscsBMPKfK5XP/oV3HTlV6hhadraL5Cl4R9PtXWYwNqXdK+elN7zHhwDLsHWylsYMWN+oqTcFvKSsB8okEgN2dTkT9E9Y6j6aDxbsN1kdOjENfX/uJVVK+AsUeo6pMDQN1rt/us8viLB5wHqgtoWb14e9y+TW149XU+5gT3IvDn69aYYe17hhHRHG5Wnk8fwaqWI3oYx/+U770UHshdqUfseIeUUXDLSH37Ne8zHRPeBFgtD40i81XDkZ2JgiqNFJio07vP70JqGWwkKoqnKC1U4MvXtgovtmF8k1mTmMgrLA0qPqNH9B9NTvlmwMMazm3Rj8IqcQykPAo6wuI/gY4FJtt0QMi87R8dtl25L5wBw== 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: On 6/8/24 05:36, Yosry Ahmed wrote: > diff --git a/mm/zswap.c b/mm/zswap.c > index b9b35ef86d9be..ebb878d3e7865 100644 > --- a/mm/zswap.c > +++ b/mm/zswap.c > @@ -1557,6 +1557,26 @@ bool zswap_load(struct folio *folio) > > VM_WARN_ON_ONCE(!folio_test_locked(folio)); > > + /* > + * Large folios should not be swapped in while zswap is being used, as > + * they are not properly handled. Zswap does not properly load large > + * folios, and a large folio may only be partially in zswap. > + * > + * If any of the subpages are in zswap, reading from disk would result > + * in data corruption, so return true without marking the folio uptodate > + * so that an IO error is emitted (e.g. do_swap_page() will sigfault). > + * > + * Otherwise, return false and read the folio from disk. > + */ > + if (folio_test_large(folio)) { > + if (xa_find(tree, &offset, > + offset + folio_nr_pages(folio) - 1, XA_PRESENT)) { > + WARN_ON_ONCE(1); > + return true; > + } How does that work? Should it be xa_find_after() to not always find current entry? And does it still mean those subsequent entries map to same folio? --Mika