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 56A74C47258 for ; Thu, 25 Jan 2024 14:49:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D2E526B0089; Thu, 25 Jan 2024 09:49:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CDEBC6B008A; Thu, 25 Jan 2024 09:49:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA63E6B008C; Thu, 25 Jan 2024 09:49:57 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A75536B0089 for ; Thu, 25 Jan 2024 09:49:57 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4775B40DBB for ; Thu, 25 Jan 2024 14:49:57 +0000 (UTC) X-FDA: 81718118034.11.C6EADCF Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) by imf20.hostedemail.com (Postfix) with ESMTP id 713891C0025 for ; Thu, 25 Jan 2024 14:49:55 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=DIW96bJF; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.176 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706194195; 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=e1Jufmt29FN+BCLayi+KSCZM2a2FaZk0tkZi2gIXjUg=; b=kaNlPfo+ZvqYQVKZO3w2PxSpKwQOMLMtIlXXhTr9ooZSC8jvx8FCkQWL7QeflVpOYQvm87 sfpMSkA4pm0EMt/XQmAc6uP245yfH+NRj2n3UDWRLhh7ZUp+3p6S+KpRKvmr2pPH8ITNYF /+P/tYfp6j6+zqQFCRp0XZNMv6IOPxc= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=DIW96bJF; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf20.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.160.176 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706194195; a=rsa-sha256; cv=none; b=2jp4dP8S3eZ3uGGQDceGrwXd7Kzq7piiiaiyGDZAIL6MWtpu9rx9Q2bQ1WMm8598flGaWn UUSmI/2+Ns0Z1rSB4GnJZgcitq93OkWdj5HnYqVbAUOqaNaErrVK0862XZVTbXDWoZUN2+ qfvr+/3RcR2AZ2C/yBx7Gv4NDATNKOs= Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-429be992974so38096931cf.2 for ; Thu, 25 Jan 2024 06:49:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1706194194; x=1706798994; 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=e1Jufmt29FN+BCLayi+KSCZM2a2FaZk0tkZi2gIXjUg=; b=DIW96bJFeSk36hBpn/ire6a2y7TMFPeQ8v7AcsyQ+sV7k+2rL1eeagLAua4WHRViu3 YIiNW0TBeCGst4oI4ehvsSeSJ8hkb0tHzbnHzYDTuyQkvKjpwW7u1PCSxsUfndSTCu8D WuIdI7a+XqG5dM5YxR/F/9C66p1s/fzE55GXaBUZYPyKhfajLXBa1Hv+vuKrv3441keA LRq0jiRs/OCiq+KsbB4ajVAF7I2OwpnTAmCRC7Ooc0WFBdVrB/PsvoOAuynlg5OfXout W7XvFdPBgciwqJNUY9rETYHGfeedKPm8q93z1jWCTnTPRNcvsqLY4yIOPeXaiX2aafPt j/yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706194194; x=1706798994; 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=e1Jufmt29FN+BCLayi+KSCZM2a2FaZk0tkZi2gIXjUg=; b=KXrzl9R+pIdYfrkZ+eGpfzbAkvUrdREOA/MeJMO3dG2jnjxx2avObHkOh4KSeMEGh/ B8ZGNn+Tw8yG/IsjUx3mlnl3H08rlI4O/YfRfz/DbAEwYkkrBCy2+NrUXYDIevrtoCYZ mr1Nr0oSRKWnpZGgwfqc8GBNR+L+j8xH5gFVlGHd5jD9avYQVEA2poC9hkKfjci3n9rM KdqkhlpTQJNW1fykqhuz2QC2WKNge2mLZN+dFExDY7edawFYpiIqlNoldYiVZnf6OuZe RIpmJLZAMviRtZaHGE0oGK3wO4MFSo1cp0lk/kVuQTmVRBP1O+Sp2XhvJeEKFdvmdW/+ 2ZFQ== X-Gm-Message-State: AOJu0Yy5ltsJFjGunVRDCQZa0CXGu8iUCLx5xZ8MX7h8z7n0ixWOyn3I Joc926KaBN6ER/7TzMFcIkSHK68FKN/e5LSzQJ/WMwChuXEVAY+aRI1k5lnD35o= X-Google-Smtp-Source: AGHT+IFMyIXKi0ksURve7d4Kvfnuupv44sbMBvOfwALrt+vAce7BUIIrP25e6L2zwFgSedr4IQ6wGA== X-Received: by 2002:a05:622a:10d:b0:42a:3195:e8be with SMTP id u13-20020a05622a010d00b0042a3195e8bemr1205799qtw.51.1706194194446; Thu, 25 Jan 2024 06:49:54 -0800 (PST) Received: from localhost (2603-7000-0c01-2716-da5e-d3ff-fee7-26e7.res6.spectrum.com. [2603:7000:c01:2716:da5e:d3ff:fee7:26e7]) by smtp.gmail.com with ESMTPSA id en11-20020a05622a540b00b003f6ac526568sm5420997qtb.39.2024.01.25.06.49.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jan 2024 06:49:54 -0800 (PST) Date: Thu, 25 Jan 2024 09:49:52 -0500 From: Johannes Weiner To: Yosry Ahmed Cc: Andrew Morton , Nhat Pham , Chengming Zhou , Domenico Cerasuolo , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH] mm: zswap: fix missing folio cleanup in writeback race path Message-ID: <20240125144952.GE1567330@cmpxchg.org> References: <20240125085127.1327013-1-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240125085127.1327013-1-yosryahmed@google.com> X-Rspamd-Queue-Id: 713891C0025 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: fj5kmmwwiwpx4qag9fuqj9jo53n3xsyc X-HE-Tag: 1706194195-260328 X-HE-Meta: U2FsdGVkX1+fBRRXpPthcDdS2iOVyL7nhMxwuXPb/bOP3zA1tQSRoJiG3Ncj8VzxZD2fMxX443M/5KUN3jW5YASYsH/J+BzZFTuilijoM4OrAx4bhaiqSmhjxf+w0lUak8SVikNWFQX8i/itjuK/leccsK+jGAGi9kllMpT3CqBuN5wUwvRw4BoHliyRiUyPsNquaeDCy30xVLaqgkI4N1Xc6AjiZOkcouvhwCFWRVlbH6+XZ30Anq/Wle/vXvt5CdT5ufKIMKd2bS/52OXhIgywfmCoIItXBuZXMegVyHE0oZei23MJhLH+0JGGPmf7kMXgPSQmbR/8ZOYpQ/pZDeILroLMOl7xEhbCyYEs4C35GMw0XB+S0X6oHKi0rfCG+QGYBsO/aNksoASruAuiYWFxi4I/XFt3GDbNfBGz04C0ef4YBQFeuqZ9bg2d0HGshN9isP089LhbDisnH2nu9BcQFKd0jQC2wiROvyVmmuMQx56R4NPfHSBiKtVugiCptelo+zqX4tXLrTpn3xBD4rQtVurDBtMnhaA4fmoCzztADyTRP8G3uRoYxu4V9uA+KemOpEM61HBc01HnTYbjUDUX8WqTHippjBrqkHPdMQvKlTEdlyuH5v9Mh3y3ceTVFLnsCnn4FGuTqFRi5wMUt1BArsGXa291O7OfEKHTHVvhE3SCUuqe/GVYSiZmjePFBLwlOOa8ZvGAf5TStE28WZDF2Qk55D0RFoBJZyBqjQMVHqw3AgaqBeDiJKMmMQm1DTF0GGA4Wnmxgo77GMUJMrGeCRCm/XUK4MkM3RpOj+CWbhcWoBLamHJmEjGJdSF5xsQQU5wKQvcer961XUPAPBXS04W59t6cm/cw5mQRM1/NuWD/Huh3uBpCYF16rVznxQdfUQcq1unQRBVfGNPGF3UihCdpOwDB2beuJa3rnx0GERqRpOT7Bkey9cKtFhhvMwGcCcLRMBSq5GBV3MG 2Wf6ZSTB IYSdbjCb3T1RCPD8KKE+QqSFb3SrCzKpBVeQE0uPmTie9yxgkHBdtxwvnTKC9wcgmUEL8IDCBcsSCaNOClBvEcZec5SBz7I+grUZSDzz9qbpbXV0xtxrrudt+Hs4ZD/ve1LmayBl8WiuFORrSl+My2/XrYpdhGEEj5Yy4X5WXo43Zrk4RXsoN5jXJFO39dcdPvGx4ZG9MbimocKVcOcXnJsMKZF5Q6NhUrje8WI7LRNFtdyag0NPMu8CC0paAYf6wWiyOArWk0xGkmqT7RQlJh4xb7tkjJV4zz7c5bBAdV/qWhcoMoCbSul7rRk0BaKPXThF8JsD6RWJfbyXidp2ljIChMQPL+EnanPTLnDlJZO0WVkj4EkRvXnzuMb26tpnVZm9AT8bxQ2WX1se8gP8aboRn0tOR8WZBm1XaTNIoM9HXsQeJ/POSUXxlQTiJiLR8NdnuQAfMsbgQ+Kp3ZC38Nz49gIip2FfcUnea1KqCYybhU1XflN6VOJTcRJt6W1QMyTR+WRLYeJODWrQGjsO3o/y2n3E1F7HsMsh5c1ckBwdioOb3Aa2YBT8st5giytbqyajplVdP7zErr3A= 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 Thu, Jan 25, 2024 at 08:51:27AM +0000, Yosry Ahmed wrote: > In zswap_writeback_entry(), after we get a folio from > __read_swap_cache_async(), we grab the tree lock again to check that the > swap entry was not invalidated and recycled. If it was, we delete the > folio we just added to the swap cache and exit. > > However, __read_swap_cache_async() returns the folio locked when it is > newly allocated, which is always true for this path, and the folio is > ref'd. Make sure to unlock and put the folio before returning. > > This was discovered by code inspection, probably because this path > handles a race condition that should not happen often, and the bug would > not crash the system, it will only strand the folio indefinitely. > > Fixes: 04fc7816089c ("mm: fix zswap writeback race condition") > Cc: stable@vger.kernel.org > Signed-off-by: Yosry Ahmed Ouch, good catch. Acked-by: Johannes Weiner