From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from omzsmtpe02.verizonbusiness.com ([199.249.25.209]:40917 "EHLO omzsmtpe02.verizonbusiness.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751189AbdFDIMr (ORCPT ); Sun, 4 Jun 2017 04:12:47 -0400 From: "Levin, Alexander (Sasha Levin)" Cc: Hugh Dickins , Andrew Morton , Nicholas Piggin , "Wu Fengguang" , Linus Torvalds , "Levin, Alexander (Sasha Levin)" To: "stable@vger.kernel.org" Subject: [PATCH for v4.9 LTS 025/111] mm: fix KPF_SWAPCACHE in /proc/kpageflags Date: Sun, 4 Jun 2017 08:12:02 +0000 Message-ID: <20170604081123.19462-25-alexander.levin@verizon.com> References: <20170604081123.19462-1-alexander.levin@verizon.com> In-Reply-To: <20170604081123.19462-1-alexander.levin@verizon.com> Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: From: Hugh Dickins [ Upstream commit b6789123bccba8b5feb9901ed2e8c3c39181979d ] Commit 6326fec1122c ("mm: Use owner_priv bit for PageSwapCache, valid when PageSwapBacked") aliased PG_swapcache to PG_owner_priv_1 (and depending on PageSwapBacked being true). As a result, the KPF_SWAPCACHE bit in '/proc/kpageflags' should now be synthesized, instead of being shown on unrelated pages which just happen to have PG_owner_priv_1 set. Signed-off-by: Hugh Dickins Cc: Andrew Morton Cc: Nicholas Piggin Cc: Wu Fengguang Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- fs/proc/page.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/proc/page.c b/fs/proc/page.c index 3ecd445e830d..8ffd43709634 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -173,7 +173,8 @@ u64 stable_page_flags(struct page *page) u |=3D kpf_copy_bit(k, KPF_ACTIVE, PG_active); u |=3D kpf_copy_bit(k, KPF_RECLAIM, PG_reclaim); =20 - u |=3D kpf_copy_bit(k, KPF_SWAPCACHE, PG_swapcache); + if (PageSwapCache(page)) + u |=3D 1 << KPF_SWAPCACHE; u |=3D kpf_copy_bit(k, KPF_SWAPBACKED, PG_swapbacked); =20 u |=3D kpf_copy_bit(k, KPF_UNEVICTABLE, PG_unevictable); --=20 2.11.0