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 28CC7C3ABDA for ; Wed, 14 May 2025 08:51:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E2AC6B0103; Wed, 14 May 2025 04:51:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 792A56B0105; Wed, 14 May 2025 04:51:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 635546B0106; Wed, 14 May 2025 04:51:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 42EE76B0103 for ; Wed, 14 May 2025 04:51:41 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C5003C01F1 for ; Wed, 14 May 2025 08:51:41 +0000 (UTC) X-FDA: 83440895202.29.ADB211C Received: from out30-133.freemail.mail.aliyun.com (out30-133.freemail.mail.aliyun.com [115.124.30.133]) by imf03.hostedemail.com (Postfix) with ESMTP id C7F2220007 for ; Wed, 14 May 2025 08:51:38 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="vp0MEI/i"; spf=pass (imf03.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.133 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747212700; 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=IMdxeZqMjoqcnZRkSIxuyFVrrAtdBAjdsBoxCYqWgQI=; b=RmQvMjbdIR/2Rj+f5IQJTAFSkwBPfjIpM0eYH/8+XHDP5ouB+vLteCKbiw/bqQDwtoETIq VtO8fShTZ+6/O4Zu8GFCvL8KcVgoci+xAI8ACpns/Hy8EBfZ44++cqqyTGFMMSGEM4/Bxx KpLzXTWUL4bVe99E2JePAMpCeAVCRbI= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="vp0MEI/i"; spf=pass (imf03.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.133 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747212700; a=rsa-sha256; cv=none; b=d7Uf4/+z8K1sh/HUm+NG7CfRFCdNndFR5IdGKnJJmr08USRN3gm7wGMplJiNWeMB90HWZS f1TdGK0abe78ACr4fMOD9vzDCB12qv+6SKM6rxxCgjVU/5lQlwyv0u92t8YuD0/0hyae0p e12GUGaDfI1fPbdQsFwwpnETtkUsFiI= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1747212695; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=IMdxeZqMjoqcnZRkSIxuyFVrrAtdBAjdsBoxCYqWgQI=; b=vp0MEI/ifGUmyzpiyu9TcHBA+Say3aX4x2XhSEb29RzQQA3RF+aMqI7XDO8NZOk2WM41sl/NfZgDNLDoTIbTdrtvP5eAaWdpU5JvS1QEC7VwVK9qd1JyxP3TCofHwNtXTRB9pHt3lXid+R7FPkn3Kar7kfL0HCUtjcOyqhN9EbA= Received: from 30.74.144.106(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0WalGEVH_1747212693 cluster:ay36) by smtp.aliyun-inc.com; Wed, 14 May 2025 16:51:34 +0800 Message-ID: Date: Wed, 14 May 2025 16:51:33 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/5] mm: shmem: avoid unpaired folio_unlock() in shmem_swapin_folio() To: Kemeng Shi , hughd@google.com, akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250514165047.946884-1-shikemeng@huaweicloud.com> <20250514165047.946884-2-shikemeng@huaweicloud.com> From: Baolin Wang In-Reply-To: <20250514165047.946884-2-shikemeng@huaweicloud.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: C7F2220007 X-Rspamd-Server: rspam09 X-Stat-Signature: zes4kug8mqgjam64r4r81qrwegsso734 X-HE-Tag: 1747212698-957869 X-HE-Meta: U2FsdGVkX1+eZRI7r49sa5N0PTQ9qxODkWgNZBkQo3Hmv9P+GxSDShbOWELhUehBlyqnzST1zDW/6aTArPJYDXweC8N0Z1wxkOaoT58eDavehII69fGbnQfDZFq+J9hL7fYUVwQOmWvtXgm7YdFdGCyIasaDi1tyXjjdXqvujZtdWwEzHyD+SMOFhn5HBZXkGg5jQtTG8TKchVmo4ll8pd+8xAG/0Eyo8q6kHZj7/LterOI3+zn9lKWV8aQjs/LOkLnfjjNRlKjQtpFinhEw1OASPNeDyyx9mv+qXAFa+A5kvWvJU8FEuCfQQeRVwtREomsKk+Kl3EV4ZbJAvYz9XoWgGx66uSxsWMvd28CVHgp8o8jGf0J5YWPqQZlcHGpzzAOAsUE47Rsz0gkhOCoaeGgiVixD0OIWzxWMWrGn/pg7Eg9dDAb8RxzqkBTlA4u6pgAb79sZBW//yJHsnlU1roFZ6YBp/1VD/aMIlr74ZIdrSR9rLP6uHg9DMLVi92XCa2tYjQoEL9Ykq47SoVy2oykhBk4NYooXq0H3p5O+0f4FpzS17MMw6W4gm3Gh/7eoWw2rQNKVPVSTvVMP/hXnv2ny9W9yFAk1/7+QfEg3Ql9LTJPomY3z9iKi+J09JaozrBlkzIP1AmiKXrJAu7QloPI4aATpHi7vRWVLfPmWzGGpKXxvhdBmpjGnL2VFdwnkfA0rP2WbzjdJ8q1xUmxqF2DxLpIpsC61tJAySYvA/GhoTAKCGDxNeHSYYqD3a7JgwQASnR8LtrqVU/qNXnna47dAu+D1AbxACwky7mcW8RR1uZvBjew9BMj2Kf87YhYOzR1gdZ04ckn/JL0Ify8B7Kqbu2hssuxi3PbB9R6ooiyTISAGsfsqtc+PFf/vgCGWApjD5jFF/rWNIyzfWQZXj0j/AZq0NcNNt7iZlRXlp0n++W1lCbOcwN8S4WBCmLtPHmAoFQkFfKCKEbM38EM wttX7dOL iZR4cBP00vFYKVvmVtkXo1RFjolLAHwEurTQq1FRVfmHh6/O2scS7hBdnHptQKfFJ/thXD/+/T6GDyuXopNnwfbuX4HpcEaCfT8yCfjrk5YyOoIzEL0Whc0yaajdMdeY6ZXVj8adIHFnoSqbv+ZaWC1wPUOpfdafrWF2PaMSGqzH3VdOrMXMaMCq+cn+qMyAk0W98X6BzPvm4DqPTUENBDhzN4jU2BQYRJfgbvKP8AEZ5f0JsuSidPuf0nG3lxtxhG/0Da0PL+fNSAcMqlvocvgGigDLw8WOiVLUP08uquFAiY3IbmXhlSn96sue0SxeUVgMyAsnhu7UkaR5foD8Dn4+ngA== 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 2025/5/15 00:50, Kemeng Shi wrote: > If we get a folio from swap_cache_get_folio() successfully but encounter > a failure before the folio is locked, we will unlock the folio which was > not previously locked. > Put the folio and set it to NULL when a failure occurs before the folio > is locked to fix the issue. > > Fixes: 058313515d5aa ("mm: shmem: fix potential data corruption during shmem swapin") > Signed-off-by: Kemeng Shi Good catch. LGTM. Reviewed-by: Baolin Wang > --- > mm/shmem.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/mm/shmem.c b/mm/shmem.c > index 99327c30507c..980fa15f393e 100644 > --- a/mm/shmem.c > +++ b/mm/shmem.c > @@ -2335,6 +2335,8 @@ static int shmem_swapin_folio(struct inode *inode, pgoff_t index, > */ > split_order = shmem_split_large_entry(inode, index, swap, gfp); > if (split_order < 0) { > + folio_put(folio); > + folio = NULL; > error = split_order; > goto failed; > }