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 6424ECD1288 for ; Sat, 30 Mar 2024 09:20:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA2796B0087; Sat, 30 Mar 2024 05:20:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E2A716B008A; Sat, 30 Mar 2024 05:20:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF22B6B008C; Sat, 30 Mar 2024 05:20:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id AFFE36B0087 for ; Sat, 30 Mar 2024 05:20:23 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 784FB1C1526 for ; Sat, 30 Mar 2024 09:20:23 +0000 (UTC) X-FDA: 81953159526.18.6EB8535 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf13.hostedemail.com (Postfix) with ESMTP id 1A1EA20015 for ; Sat, 30 Mar 2024 09:20:20 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=bb2Pfl37; dmarc=pass (policy=none) header.from=linuxfoundation.org; spf=pass (imf13.hostedemail.com: domain of gregkh@linuxfoundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711790421; 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:dkim-signature; bh=tGaQiv1EcUniWxKlV7HQ9iA7htO5jnroT4l36Y6cPxE=; b=C48GQ+DHddaTNezPLHaTY82oeN8ddaLVqMqF1o5UrteV9pn0CgW//ViDCi+rBTtqGGpyZt prUBjGlfCayrnpAxrG0BJAaSnxDzJYLsbdGdQ8qJjujDvV4DiRALPjUC5jz5rtOMRIReFg /Rc5AP4jJfDKOf3WkkQc9uSQtLDKUcY= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=bb2Pfl37; dmarc=pass (policy=none) header.from=linuxfoundation.org; spf=pass (imf13.hostedemail.com: domain of gregkh@linuxfoundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711790421; a=rsa-sha256; cv=none; b=GbEYL/OZ8euss7TNr9PN9dwKjlSSFCqqHo5wd1AjE8U0oKjw1MZpjuZxBfYSG5PaSDMaiu bcQONIqDCzUMuBrT2Pa54Njre01fqFuwBSualsGPlF6TLh9MuBwF45PetpOfrDYh6fw+SJ BUoJQPTJkVtcUnslE9oVsMV3MQyz9UE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 2A1BCCE0022; Sat, 30 Mar 2024 09:20:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBF68C433C7; Sat, 30 Mar 2024 09:20:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1711790417; bh=OyH2n/v0UKC3BlUqh18ulkjG11Px07JOUUe5V6Fcplc=; h=Subject:To:Cc:From:Date:In-Reply-To:From; b=bb2Pfl37GZR3bhwCv4UYQL2GN+Ob0tED3SDmFN+jdJ7+TGIFru+p6ueBicgcxwsMs z6d8O9D2h+ELc7No6cQmlh4U32wL1Xr2OcsmoQfQdPCpxcE5YQ6AEatQ7Hn4Hn1jEJ DRAx64w/R8qzq2cGJmQi5QKMM92ldQIJgYW63ZC0= Subject: Patch "mm/migrate: set swap entry values of THP tail pages properly." has been added to the 4.19-stable tree To: 1707814102-22682-1-git-send-email-quic_charante@quicinc.com,akpm@linux-foundation.org,david@redhat.com,gregkh@linuxfoundation.org,linux-mm@kvack.org,naoya.horiguchi@linux.dev,quic_charante@quicinc.com,willy@infradead.org,ying.huang@intel.com,zi.yan@sent.com,ziy@nvidia.com Cc: From: Date: Sat, 30 Mar 2024 10:20:06 +0100 In-Reply-To: <20240306155052.118007-1-zi.yan@sent.com> Message-ID: <2024033006-sublease-expire-cbaa@gregkh> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit X-stable: commit X-Patchwork-Hint: ignore X-Rspamd-Queue-Id: 1A1EA20015 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 9a4ratug93tq1xo13z8cmigh845tikct X-HE-Tag: 1711790420-541568 X-HE-Meta: U2FsdGVkX19CAISqCJOQ/cWGeYlKmBsOKJOrBLXCXcTplUG+chRF2IivOLe9BHSSSEshr+btK9WK2zijIG1z0vPzP2Oka07Z97OcGLUCSQZV1ynccS939jZr+CQi9seTWb0JKG6ut9v9z/5HKVQFs4xSX5ItuEB8SJjeohSJ8GduNUSWgWw1sGgRwRhnRh59X7sQ6SMgfZTU0u+Ao6D0oWrcPObFFvvalK9t/vpqwlgcrLl9FfT0/HG/2TRAdN6CwGY93gSToZxrDH0uzxsI/74esG3Hssno4AIyYvJ3GNzPtPYCtRk/i6x7FXtnzWxIvd4EwslMDHT/Am3wWvD0PVwEhooqQmfNy6HTlKUTvUPxEAn578dRMgk67qjCIxaPwOYHt8u1xz2dNvQObnsuJyUmK6kuaOpsCFPoHJasbeSMKUZ+4vZzhvZsNKMHSTGB7BFuXd3IWdMw5PJ0N+ILht+DS/749KCQcYojm5UQzalEYE9dFqTWnya9Kg+hHPS3hiEsPGY4qhZzDBnWgsYkvCVXOy6yZGlwj8R7za4h3EuNdV/vteJBsD2qOQDVNFq7Vh2UtGER0r4+fwj7WyeDHT9bkDAxxEyHYjfO42ERFIqnQS6cp/n9PDhhxQrjYGXWXS3LWUg5pskDAkUxksJJCpKDDU2Jdd3uYU8Xwo9GZvuqq9mcO44dKPUk4yVN4kA3zoNJijdSDlOzDIxG1aZ/90hV0MKnD+WGTiIC+DNE8GqYOcHNwh2vvjAi3NUJDuePVEoKJRHEfdaUkAyiA636d4EdW9INnjFoJWu9Tiq26d2C4b6i/P/h4gXUoJ/nlNMAdKPOrR+ObL9KgoGStWFbyTRiT6rlHJ0U00Sa1o+79XZHqdzpJdhusCYCxM3zzsnEvaNIUNifeNRQelVrFLVw5f5Xr0EfwxSHCAW3oe//1FQVQCH+HZaK00wgU7mFIGe6XJ1ZStYQ8IH4Vm8/YMs sPGraPh7 l9wQV9Rj1SCuhhkkl1dhZ+lHKuDbFfcx6yEbAFgCSuE4QebfdI9QcBkAark7n+XGzmPkgh+ULYzqOm7gJlIH4VdbaLcN6hmL7JtEbhbAzNTbkuG1ClZPIJL7WxDOvAcxlsIb4n15EDibSjzZ9nwUq861aJrg9tl7SupMSjsfl3EefKLhLgnI1Xfs4y9BFXx0Z+7fJRdocB2N6PgQILXrKIvF8ZuJ/hKG7wNg7QGy4cqKZjwf6Zy5HW8+IkkZoPjYmwOkTssnUltOU2eCuGg70uWGxFkzzIgWAXGjimRJ+dWicstJqhChrRJkbeyDJQNOfdvP7p+Dj7WB+CsOEHWCgrtIHdyQ2vqZSeC09rRGPBAXrjboA4b6bngMJgOdTWtC0OAcgF/UvI0g7vWkPmBqvu7t80GGRX9jKaeQM/vhvQp7cGxVPFxaO8XStLjIAN8zPt4Ln6kQQ0uVsepTak6SsEPjhiphPwOop5CeuI2IOlkwSGZNglM7A/jSES9JFBkZKm7UM2JabSl8QTVYUEJJTEBDG/pNprcKB9PD2RNpIsBBpwrFu6nJElh78ur6EpRxRPDrB+Q7ReHLgwH6i9rTP7Q77QDXcon3JJVk/ZflYbzwXw3DC2G/bRBy0sQACQxFmM655b+vwS5kTrYRl8XDDx5yCrR5RdJUf7I2OVq6Ai2jD4YOBbknb6MbBQfYvZRQ6NMqD 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: This is a note to let you know that I've just added the patch titled mm/migrate: set swap entry values of THP tail pages properly. to the 4.19-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: mm-migrate-set-swap-entry-values-of-thp-tail-pages-properly.patch and it can be found in the queue-4.19 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >From stable+bounces-26997-greg=kroah.com@vger.kernel.org Wed Mar 6 16:51:02 2024 From: Zi Yan Date: Wed, 6 Mar 2024 10:50:52 -0500 Subject: mm/migrate: set swap entry values of THP tail pages properly. To: gregkh@linuxfoundation.org, stable@vger.kernel.org Cc: Zi Yan , linux-mm@kvack.org, Charan Teja Kalla , "Matthew Wilcox (Oracle)" , David Hildenbrand , Andrew Morton , Huang Ying , Naoya Horiguchi Message-ID: <20240306155052.118007-1-zi.yan@sent.com> From: Zi Yan The tail pages in a THP can have swap entry information stored in their private field. When migrating to a new page, all tail pages of the new page need to update ->private to avoid future data corruption. This fix is stable-only, since after commit 07e09c483cbe ("mm/huge_memory: work on folio->swap instead of page->private when splitting folio"), subpages of a swapcached THP no longer requires the maintenance. Adding THPs to the swapcache was introduced in commit 38d8b4e6bdc87 ("mm, THP, swap: delay splitting THP during swap out"), where each subpage of a THP added to the swapcache had its own swapcache entry and required the ->private field to point to the correct swapcache entry. Later, when THP migration functionality was implemented in commit 616b8371539a6 ("mm: thp: enable thp migration in generic path"), it initially did not handle the subpages of swapcached THPs, failing to update their ->private fields or replace the subpage pointers in the swapcache. Subsequently, commit e71769ae5260 ("mm: enable thp migration for shmem thp") addressed the swapcache update aspect. This patch fixes the update of subpage ->private fields. Closes: https://lore.kernel.org/linux-mm/1707814102-22682-1-git-send-email-quic_charante@quicinc.com/ Fixes: 616b8371539a ("mm: thp: enable thp migration in generic path") Signed-off-by: Zi Yan Acked-by: David Hildenbrand Signed-off-by: Greg Kroah-Hartman --- mm/migrate.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) --- a/mm/migrate.c +++ b/mm/migrate.c @@ -514,8 +514,12 @@ int migrate_page_move_mapping(struct add if (PageSwapBacked(page)) { __SetPageSwapBacked(newpage); if (PageSwapCache(page)) { + int i; + SetPageSwapCache(newpage); - set_page_private(newpage, page_private(page)); + for (i = 0; i < (1 << compound_order(page)); i++) + set_page_private(newpage + i, + page_private(page + i)); } } else { VM_BUG_ON_PAGE(PageSwapCache(page), page); Patches currently in stable-queue which might be from kroah.com@vger.kernel.org are queue-4.19/loop-factor-out-configuring-loop-from-status.patch queue-4.19/loop-call-loop_config_discard-only-after-new-config-is-applied.patch queue-4.19/loop-refactor-loop_set_status-size-calculation.patch queue-4.19/loop-factor-out-setting-loop-device-size.patch queue-4.19/loop-check-for-overflow-while-configuring-loop.patch queue-4.19/loop-properly-observe-rotational-flag-of-underlying-device.patch queue-4.19/loop-remove-sector_t-truncation-checks.patch queue-4.19/revert-loop-check-for-overflow-while-configuring-loop.patch queue-4.19/loop-loop_set_status_from_info-check-before-assignment.patch queue-4.19/mm-migrate-set-swap-entry-values-of-thp-tail-pages-properly.patch