Received: by 10.192.165.156 with SMTP id m28csp1026128imm; Thu, 19 Apr 2018 11:30:07 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/e6eYm67bai/AHmzSULfrlIUSCUM8uShuPG0ZorQgO5WLJeG+0fm2boZblHsjqGt86d/33 X-Received: by 10.98.251.1 with SMTP id x1mr6813825pfm.90.1524162607464; Thu, 19 Apr 2018 11:30:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524162607; cv=none; d=google.com; s=arc-20160816; b=YG8sl4AaJHk5misdiYFFeBSt6zt+n4SSQo2HBSqB4FQaP840ImN0qGUNl6VISss+RJ dIVq9JeHTYmjy87+GTRofgMxXX06zWesQNR3tPC56VaBQft/RqFVeUGTHSItjp6J4XpP KzPLrCAft3JjTPpkXWV/VHrLleLQ4z5CtDpB6c2q5N/deSoWss4gEJeaccZPZKdZEL9Z D5nwm6TYnfjOKWmAAVgicROA9tKsXqnTlnC5nftAoyo9MHsNZgFVWzVswYlDGOrEdpoD YKLPOj71qkSHKXjQsnavCOipITqnbNhSOP5Rv8MY9wLM67yJ15+bVupIf7z0Bx0p3AY7 tMqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=h+nfuOqgKAOp1eY/OVNkjerJtUawYT6sDbxLkhKzjDc=; b=zBMU/d7iLPF+iejivN81d2/7aTgNCwMZf0Dkfpx4z9lt9MehDKMkJVFdV/DGfnXUG4 0hDToJP0IdnbDBJJRWsjx4OE/AkrlNk3JGSfhYZXhNG8jzBOuEMbUOB8ryYdlM1FFUGY ZLWQh0kozS2nrcpV9HHV3UsjIU+DS3lXozAI+N3ONOkN+jvTXyqhUFlwJZcFjGsJkxkF rr0tD5ou41Gvzn4Sza/pKb4fFKK8EY5LBVg4+U2AnrGifyMBKFQg4zmx33eY00kFeOIe CyYYjQdfTRrm9VzvK0Q/5gLNJ6idR9sqOv84Ax6ho/fLKPa8iAj2Rn+P1hnXABVnliaj 5c+A== ARC-Authentication-Results: i=1; mx.google.com; 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 z1si3581520pge.271.2018.04.19.11.29.52; Thu, 19 Apr 2018 11:30:07 -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; 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 S1753202AbeDSS2q (ORCPT + 99 others); Thu, 19 Apr 2018 14:28:46 -0400 Received: from mx2.suse.de ([195.135.220.15]:34190 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752667AbeDSS2p (ORCPT ); Thu, 19 Apr 2018 14:28:45 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 77904AAB4; Thu, 19 Apr 2018 18:28:43 +0000 (UTC) Date: Thu, 19 Apr 2018 20:28:40 +0200 From: Joerg Roedel To: Joerg Roedel Cc: Thomas Gleixner , Ingo Molnar , rjw@rjwysocki.net, pavel@ucw.cz, hpa@zytor.com, Michal Kubecek , Borislav Petkov , x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Dave Hansen Subject: Re: [PATCH] x86/power/64: Fix page-table setup for temporary text mapping Message-ID: <20180419182840.mfl64py7pnbudruc@suse.de> References: <1524162360-26179-1-git-send-email-joro@8bytes.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1524162360-26179-1-git-send-email-joro@8bytes.org> User-Agent: NeoMutt/20170421 (1.8.2) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Adding Dave Hansen to Cc, forgot that in the initial post. On Thu, Apr 19, 2018 at 08:26:00PM +0200, Joerg Roedel wrote: > From: Joerg Roedel > > When we have a 4-level page-table there is no p4d, so we map > the pud in the pgd. The old code before commit fb43d6cb91ef > already did that. > > With the change from above commit we end up with an invalid > page-table which causes undefined behavior. In one report it > caused triple faults. > > Fix it by changing the p4d back to pud so that we have a > correct page-table. > > Reported-by: Borislav Petkov > Fixes: fb43d6cb91ef ('x86/mm: Do not auto-massage page protections') > Tested-by: Michal Kubecek > Tested-by: Borislav Petkov > Signed-off-by: Joerg Roedel > --- > arch/x86/power/hibernate_64.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/power/hibernate_64.c b/arch/x86/power/hibernate_64.c > index 48b14b534897..ccf4a49bb065 100644 > --- a/arch/x86/power/hibernate_64.c > +++ b/arch/x86/power/hibernate_64.c > @@ -98,7 +98,7 @@ static int set_up_temporary_text_mapping(pgd_t *pgd) > set_pgd(pgd + pgd_index(restore_jump_address), new_pgd); > } else { > /* No p4d for 4-level paging: point the pgd to the pud page table */ > - pgd_t new_pgd = __pgd(__pa(p4d) | pgprot_val(pgtable_prot)); > + pgd_t new_pgd = __pgd(__pa(pud) | pgprot_val(pgtable_prot)); > set_pgd(pgd + pgd_index(restore_jump_address), new_pgd); > } > > -- > 2.13.6