Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8125156imu; Tue, 4 Dec 2018 03:26:21 -0800 (PST) X-Google-Smtp-Source: AFSGD/WlBy5YXNA+iyxsI5YTOTCWvaGHvBZWoL5Z3iEBYKYtbVFCAD84xwNtSyDKdliwyeU0G0nf X-Received: by 2002:a17:902:468:: with SMTP id 95mr19462980ple.3.1543922781510; Tue, 04 Dec 2018 03:26:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543922781; cv=none; d=google.com; s=arc-20160816; b=KG7C1QvBfesqKzvAa+hKJznWKkCnynHVSILVemuvrq+Pb1uHDbvbB2g57vIjfGjr12 kEuFul38x6+0tU80pt4H8UlOU+/NvPLRzDZau7HeaR27uvbS0SxKaDuuDR6GbdYPR217 IUC8gcuABdiKYn6FCVvvpeiJPTwONiJaeUQlaMCFJHmijBcNX1EeuqXWcLaAmaSp1C+2 /qEfLWdqhmrh54V0poTaigLTuGrAElMgp5QgIOPZgWVVUPkR6sR5yFoyZCmVkbZ3F5zp LNW3pqs5HrVxXsLlLXizZlt8CTcf0g6auAv8a5qcOZ9dIMxHBDfvG2tjXww+4B1EdKfy URrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=T08Wu8NJBanf30+RS6h647r40W/i0N3eXUazGvsq0AI=; b=dC0sLrP77HtBu+H1biXg9tl/xUfrY7XWo1XyQqp0gV+BM5s09VE3eM6bokiwSHzH9o qFXMBny9JuDxI1z8zmecdQvJumsv9bZRGKfF0pCbW79RA8+GRcEuq8g2fqVJgoA4G+GG EMMjBM36ngJ2Ytc1PfYuJ85ck8+Z0AxGqlkmUPrptTGyAzju6OJhQunptn5/zap6pUYb 8lImEHgu7UBZ7JQ4BDnFiKzN3YYlsCk2A579GDfOkPoaHnBBBfxpRYTXzkVKJw8c0xHw hnuTBytgMxVUPkNZTOS033MP/OJX91HzrFki4hIovTx/6WrHl66hZm6q+pcAVIzls7+B WbMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=IyvuJhlg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a16si15942281pls.146.2018.12.04.03.26.06; Tue, 04 Dec 2018 03:26:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=IyvuJhlg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727369AbeLDLAu (ORCPT + 99 others); Tue, 4 Dec 2018 06:00:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:46104 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726675AbeLDLAr (ORCPT ); Tue, 4 Dec 2018 06:00:47 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 131692146D; Tue, 4 Dec 2018 11:00:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921246; bh=zMo+qM/Pr2AooFCaX44quBm4xERoz0nZg9Ana8UV1z8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IyvuJhlg9B+zpxxZz40su8NGjtQ+au6pKh6YVDByO0jeVSVO9/7LC2YvvZy2pmmou kTu74hDlnJoaNi1PyDwPe8CSN8BG979/rzwodHsTVOX1mJLM8PVppVWAnIi2t/i5lY Yv8RL1yrBhrl9ofSjspfXtBNafMoSdPIhtESyMUY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Yu Zhao , Matthew Wilcox , Hugh Dickins , Andrew Morton , Linus Torvalds Subject: [PATCH 4.19 137/139] mm: use swp_offset as key in shmem_replace_page() Date: Tue, 4 Dec 2018 11:50:18 +0100 Message-Id: <20181204103656.495517724@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103649.950154335@linuxfoundation.org> References: <20181204103649.950154335@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Yu Zhao commit c1cb20d43728aa9b5393bd8d489bc85c142949b2 upstream. We changed the key of swap cache tree from swp_entry_t.val to swp_offset. We need to do so in shmem_replace_page() as well. Hugh said: "shmem_replace_page() has been wrong since the day I wrote it: good enough to work on swap "type" 0, which is all most people ever use (especially those few who need shmem_replace_page() at all), but broken once there are any non-0 swp_type bits set in the higher order bits" Link: http://lkml.kernel.org/r/20181121215442.138545-1-yuzhao@google.com Fixes: f6ab1f7f6b2d ("mm, swap: use offset of swap entry as key of swap cache") Signed-off-by: Yu Zhao Reviewed-by: Matthew Wilcox Acked-by: Hugh Dickins Cc: [4.9+] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- mm/shmem.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1551,11 +1551,13 @@ static int shmem_replace_page(struct pag { struct page *oldpage, *newpage; struct address_space *swap_mapping; + swp_entry_t entry; pgoff_t swap_index; int error; oldpage = *pagep; - swap_index = page_private(oldpage); + entry.val = page_private(oldpage); + swap_index = swp_offset(entry); swap_mapping = page_mapping(oldpage); /* @@ -1574,7 +1576,7 @@ static int shmem_replace_page(struct pag __SetPageLocked(newpage); __SetPageSwapBacked(newpage); SetPageUptodate(newpage); - set_page_private(newpage, swap_index); + set_page_private(newpage, entry.val); SetPageSwapCache(newpage); /*