Received: by 2002:a17:90a:88:0:0:0:0 with SMTP id a8csp44516pja; Fri, 22 Nov 2019 03:14:21 -0800 (PST) X-Google-Smtp-Source: APXvYqxXg1w9Pg4VKtOVpfEapg3O5i/ASw5ZwRHXqYqU1ZPg+J61PAbdbMIFNt13dYLQHlhUDkvt X-Received: by 2002:aa7:c59a:: with SMTP id g26mr360090edq.109.1574421261027; Fri, 22 Nov 2019 03:14:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574421261; cv=none; d=google.com; s=arc-20160816; b=ANSOyLduCNroEz8SE2PNhwsr3eojMqwm36gbR8NsqomfxXVIhZV0aWUiK0Yf9td9RP ZTMzuN5i19a501SMnNNzsftio4DMyPsKCyGzGDOCLHozkdwXIO0PrJ3KNdXYYAkjMaeH gCaMOWr+f1bqeOAFw3N8dGGD1yfrwhCz9Uw721pa+KsuwMZBAuFTIqvf6RTkKLkkYCsV ilcBLPuUF6Io90EcpfOlx9vZ0dvTq5UWQ4nyrR94xFAfH2zKLuuuc74pS/6OkhlLALgn KE2fkc6cNUOOBQUYpoh4E7Jr6HU4L5K453sGuw6IEnnsuOSSHXRwql2lerUj8HdC9mG0 g/lg== 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=Ht6ezWBRZqSkGcQXT+FrfxIcsuMTPRgHWrnZlA5O3TU=; b=kc7PugtfZbVq0n23gNyrygwtED18KLXJd2XjGOf635VvX7VegjlDDLKiGtNpGzx7WF YIaWdYcX66v8Xt8NTPEeBjPag145rodLRI/1oMLDcPNBKqef0oBmA4BVQLQ7bkHH47R1 zQB2LB3hrkJ+LBK1P+MpYSS73nhDx7A0Qv4HIDI71t0mMizeEA1ht1Ri96/OY0WZyRA8 8l5Em+clBBQuzrXa7fbzCR3kp4rX+B2AmYs6ZJeBCwbdFAHua3U6cPDUnKkygiqNr12g +uaPortT6zYMFP0oX6Q5FRm5pf51GTCLcr6JPMYOF8utCChva1wOYIBhJia/hdAYEScL 5jpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SP2xYrzC; 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 u9si1358805ejk.388.2019.11.22.03.13.56; Fri, 22 Nov 2019 03:14: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=SP2xYrzC; 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 S1730911AbfKVLKa (ORCPT + 99 others); Fri, 22 Nov 2019 06:10:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:55482 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730833AbfKVLCJ (ORCPT ); Fri, 22 Nov 2019 06:02:09 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.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 E11AC20748; Fri, 22 Nov 2019 11:02:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1574420528; bh=LD0zpAPXOabySlgSce1XhF2cp8ezbUfqKJ+jwcNMh1w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SP2xYrzCezxsmxOJ7h/eA1FpDI/9t99fg4ICk8pUKeipgu3IIFxVzxH8dD8GcRmBv Z5fUe1m7rJdZy8UjzF36TqE3fdmvVeSBmgk1LlaZvYAys7odTf5EUfJS27eXSBC1h4 QMk+PmUUKAsnTFIQH42zOTeLWJ3qL33bw/Jk419E= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lianbo Jiang , Borislav Petkov , Tom Lendacky , kexec@lists.infradead.org, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, akpm@linux-foundation.org, dan.j.williams@intel.com, bhelgaas@google.com, baiyaowei@cmss.chinamobile.com, tiwai@suse.de, brijesh.singh@amd.com, dyoung@redhat.com, bhe@redhat.com, jroedel@suse.de, Sasha Levin Subject: [PATCH 4.19 138/220] kexec: Allocate decrypted control pages for kdump if SME is enabled Date: Fri, 22 Nov 2019 11:28:23 +0100 Message-Id: <20191122100922.727399494@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191122100912.732983531@linuxfoundation.org> References: <20191122100912.732983531@linuxfoundation.org> User-Agent: quilt/0.66 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 From: Lianbo Jiang [ Upstream commit 9cf38d5559e813cccdba8b44c82cc46ba48d0896 ] When SME is enabled in the first kernel, it needs to allocate decrypted pages for kdump because when the kdump kernel boots, these pages need to be accessed decrypted in the initial boot stage, before SME is enabled. [ bp: clean up text. ] Signed-off-by: Lianbo Jiang Signed-off-by: Borislav Petkov Reviewed-by: Tom Lendacky Cc: kexec@lists.infradead.org Cc: tglx@linutronix.de Cc: mingo@redhat.com Cc: hpa@zytor.com Cc: akpm@linux-foundation.org Cc: dan.j.williams@intel.com Cc: bhelgaas@google.com Cc: baiyaowei@cmss.chinamobile.com Cc: tiwai@suse.de Cc: brijesh.singh@amd.com Cc: dyoung@redhat.com Cc: bhe@redhat.com Cc: jroedel@suse.de Link: https://lkml.kernel.org/r/20180930031033.22110-3-lijiang@redhat.com Signed-off-by: Sasha Levin --- kernel/kexec_core.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c index f50b90d0d1c28..faeec8255e7e0 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -473,6 +473,10 @@ static struct page *kimage_alloc_crash_control_pages(struct kimage *image, } } + /* Ensure that these pages are decrypted if SME is enabled. */ + if (pages) + arch_kexec_post_alloc_pages(page_address(pages), 1 << order, 0); + return pages; } @@ -869,6 +873,7 @@ static int kimage_load_crash_segment(struct kimage *image, result = -ENOMEM; goto out; } + arch_kexec_post_alloc_pages(page_address(page), 1, 0); ptr = kmap(page); ptr += maddr & ~PAGE_MASK; mchunk = min_t(size_t, mbytes, @@ -886,6 +891,7 @@ static int kimage_load_crash_segment(struct kimage *image, result = copy_from_user(ptr, buf, uchunk); kexec_flush_icache_page(page); kunmap(page); + arch_kexec_pre_free_pages(page_address(page), 1); if (result) { result = -EFAULT; goto out; -- 2.20.1