Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp279018imm; Thu, 7 Jun 2018 18:34:38 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLOGV6IecwwjsqP1BONVizLrkGdJ8QfEnLz2WCSPV4YKVLJMZ1xtap1zwvRpc5Dl/CfgdZN X-Received: by 2002:a17:902:b604:: with SMTP id b4-v6mr4346228pls.18.1528421678461; Thu, 07 Jun 2018 18:34:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528421678; cv=none; d=google.com; s=arc-20160816; b=ME6itYcJOAMyVt2QCuT8hdC57NKTcN78hgrwZ+yzeVyb7paqYYZfzszUJHVf2YwhAF 9l6f3z0b2KgcaKMt5CnXUpvnywNNWFcpDloFrCYid+YSxAdelWjVmOAKFwUX3SkM1S5s bbj171hv2P9ituPU3/IT/4ucfbgmkogp9uIMEbXBEhIs5xr898RsTQStdGt77V1GTGVo e6guBSatOn792Q9yQzJkHfNDDDPWRfEsNMig0ivYr5o30koEdWc7ug02/QIWzGWkZL4h anvKo1RHqfediKHQqZDsIB1Jsj60o+FCuSz9sm9gyafm22WM9+478P8ioNPOoXW4nMDG nocg== 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:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject:dkim-signature:arc-authentication-results; bh=gkIIY3jarTCFgeQbMFkuwYT4qKO28/PjkBHu9tb/kBc=; b=uAHPnXzpRRjYD0wfwNRlt/mzjrI6nw8LCI7ozTPnfpIPj6bmRBQd6p5IjPKCqx0omu fix6rE02wpcMfeQc2CRZVYLgOowu/h65B5NoVBUY8PGDMDvCENd8iJDxoru3voj4DSOL IJ6rN5eNQDj2gA74lE4MS/Xvz5fs9tIdVQBjeQEHqMyQ3WYXVS5ZuFAyhfWV4Ir06HkD 2Do2/s8HONl5nlpyW+MSPyry28Rsz8uNFVo06Inf9vfgOo9Qzy9YopcKUrjHiRCLfrN9 gYrkdWH81uHgC40mCN4zhcE3dAfJiSsxtIpOFcjdwXrtY/vzqIeEWksmkiacU4Lpkejs frwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=S7liRR/a; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a68-v6si13935653pfc.106.2018.06.07.18.34.24; Thu, 07 Jun 2018 18:34:38 -0700 (PDT) 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=@gmail.com header.s=20161025 header.b=S7liRR/a; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752674AbeFHBci (ORCPT + 99 others); Thu, 7 Jun 2018 21:32:38 -0400 Received: from mail-pl0-f67.google.com ([209.85.160.67]:39311 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752641AbeFHBch (ORCPT ); Thu, 7 Jun 2018 21:32:37 -0400 Received: by mail-pl0-f67.google.com with SMTP id f1-v6so7250028plt.6 for ; Thu, 07 Jun 2018 18:32:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=gkIIY3jarTCFgeQbMFkuwYT4qKO28/PjkBHu9tb/kBc=; b=S7liRR/a04jdtNuiTH/7o90u35QcSscYr30dklJ/hbAZExAudhCcou26GgOm6/g5+P MfCmujAl5RZoreb0oMS5SwO90yVQJcdXDZeeeOmlytDdjww7EG3ROx8gaf7DLdP6jkVj 113Dw1ZcYBs6IzA7/epF4u2kICpQXQpl5CmhX4/tZpNXb9miTNldkWo1uabLecKmG4wm l+tChbnCOsAhqGl9C901vL4Ln5KEquHiqcAT0hiX5KzoBBttvEOUSSi0f2BTc47A0jpt xVucd55lsYpO2fXLFUBaxx2uNJwcIxmrmTAVTf31YPPB2bbR9E1eNP+oWN7U0uNtVYnF iVCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=gkIIY3jarTCFgeQbMFkuwYT4qKO28/PjkBHu9tb/kBc=; b=RlmwlLzYZOM4CVSsM6yXPa0sm8vzYCLmoSEMcKNFsl1WoH0BKvF0WlBZe5qRBcl9LV zn7/lTgmm9WmQHswWKKcHVUlbcR6fnlqrxX6vZdYSFjsPJvFTMx1Iv7xB4CiWeyciYPb oo1o6f6+59/fawGZRT3GPOMNvs/Nw1HffyVHTsrwiR3dXw8cSHwyXg4fPxVnokFarbGU n52+H+XHUk0IaiHPUZb/u1uZn0eWsBC4hZREAEmuCjCcv8KaFFlzzGOvEDHZFp/2N5SF HVeOmM0wlVELKSjCYPS90hWY4dTTTYyUfMoaktlCP+2jVmCQNx9omlIrJtIjfIHNov1t DO4A== X-Gm-Message-State: APt69E0tWMjvMvEpL7tZAIOEkivjtBxhDYLxAor6Lh24YLsCAgOy9RDg 7tm8ktlgGNtjXaNvH9DybR0= X-Received: by 2002:a17:902:145:: with SMTP id 63-v6mr4354555plb.332.1528421556475; Thu, 07 Jun 2018 18:32:36 -0700 (PDT) Received: from [0.0.0.0] (67.216.217.169.16clouds.com. [67.216.217.169]) by smtp.gmail.com with ESMTPSA id p1-v6sm96290519pfp.137.2018.06.07.18.32.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 Jun 2018 18:32:35 -0700 (PDT) Subject: Re: [PATCH v2] mm/ksm: ignore STABLE_FLAG of rmap_item->address in rmap_walk_ksm To: Andrea Arcangeli , Andrew Morton Cc: Suzuki K Poulose , Minchan Kim , Claudio Imbrenda , Arvind Yadav , Mike Rapoport , linux-mm@kvack.org, linux-kernel@vger.kernel.org, jia.he@hxt-semitech.com, Hugh Dickins References: <20180503124415.3f9d38aa@p-imbrenda.boeblingen.de.ibm.com> <1525403506-6750-1-git-send-email-hejianet@gmail.com> <20180509163101.02f23de1842a822c61fc68ff@linux-foundation.org> <2cd6b39b-1496-bbd5-9e31-5e3dcb31feda@arm.com> <6c417ab1-a808-72ea-9618-3d76ec203684@arm.com> <20180524133805.6e9bfd4bf48de065ce1d7611@linux-foundation.org> <20180607151344.a22a1e7182a2142e6d24e4de@linux-foundation.org> <20180607233800.GA6965@redhat.com> From: Jia He Message-ID: <91c87688-50d3-581c-339d-70ad658a292a@gmail.com> Date: Fri, 8 Jun 2018 09:32:28 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180607233800.GA6965@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Andrea Thanks for the review. On 6/8/2018 7:38 AM, Andrea Arcangeli Wrote: > On Thu, Jun 07, 2018 at 03:13:44PM -0700, Andrew Morton wrote: >> This patch is quite urgent and is tagged for -stable backporting, yet >> it remains in an unreviewed state. Any takers? > > It looks a straightforward safe fix, on x86 hva_to_gfn_memslot would > zap those bits and hide the misalignment caused by the low metadata > bits being erroneously left set in the address, but the arm code > notices when that's the last page in the memslot and the hva_end is > getting aligned and the size is below one page. > >> [35380.933345] [] dump_backtrace+0x0/0x22c >> [35380.938723] [] show_stack+0x24/0x2c >> [35380.943759] [] dump_stack+0x8c/0xb0 >> [35380.948794] [] bad_page+0xf4/0x154 >> [35380.953740] [] free_pages_check_bad+0x90/0x9c >> [35380.959642] [] free_pcppages_bulk+0x464/0x518 >> [35380.965545] [] free_hot_cold_page+0x22c/0x300 >> [35380.971448] [] __put_page+0x54/0x60 >> [35380.976484] [] unmap_stage2_range+0x170/0x2b4 >> [35380.982385] [] kvm_unmap_hva_handler+0x30/0x40 >> [35380.988375] [] handle_hva_to_gpa+0xb0/0xec >> [35380.994016] [] kvm_unmap_hva_range+0x5c/0xd0 >> [35380.999833] [] >> >> I even injected a fault on purpose in kvm_unmap_hva_range by seting >> size=size-0x200, the call trace is similar as above. So I thought the >> panic is similarly caused by the root cause of WARN_ON. > > I think the problem triggers in the addr += PAGE_SIZE of > unmap_stage2_ptes that never matches end because end is aligned but > addr is not. > > } while (pte++, addr += PAGE_SIZE, addr != end); > > x86 again only works on hva_start/hva_end after converting it to > gfn_start/end and that being in pfn units the bits are zapped before > they risk to cause trouble. For this panic issue on arm64, I started another thread to discuss https://lkml.org/lkml/2018/5/2/61 -- Cheers, Jia > >> >> Link: http://lkml.kernel.org/r/1525403506-6750-1-git-send-email-hejianet@gmail.com >> Signed-off-by: Jia He >> Cc: Suzuki K Poulose >> Cc: Andrea Arcangeli >> Cc: Minchan Kim >> Cc: Claudio Imbrenda >> Cc: Arvind Yadav >> Cc: Mike Rapoport >> Cc: Jia He >> Cc: >> Signed-off-by: Andrew Morton >> --- >> > > Reviewed-by: Andrea Arcangeli >