Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp2464756imm; Thu, 19 Jul 2018 22:08:09 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdZtsP5qVdCUClZFieCS6Acp+L8cdKAZhI361UB9Gv2INJGrolF3QGGEdaU7bAks2AP3HcF X-Received: by 2002:a62:11c4:: with SMTP id 65-v6mr695671pfr.54.1532063288957; Thu, 19 Jul 2018 22:08:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532063288; cv=none; d=google.com; s=arc-20160816; b=c5DTRf5lDPJuqHoUDcKQtQNKGXrItcjSK9rZhie5H2DP6FF4DZYxqqxGwF7+F4Se8T yvnT0UYkI8VRQBmTsuOWaVRV0+2NOcMai6JnpytAJiYR0NUgj41RuwVYMT7cFh2+5Xx9 +ucvyXwT2DSBDQJ8GKCflatUMNQTiTRHH7l5S7xvPW3DkxsmZF9Gu7K5BBKgJ1biDiwY f+98FI25qtA5UESdk12CjuPYVAEsGzXpq4Iz/xGQTTY2VEslSO4xtdcRvUiU3Lmsy5q9 Gqv8Oa1A8GHBOJB7biUk84euCxu8c4qLN4+NxLer3Qd4ese92oyGvgNqSMbwz2bL16Yr /H/w== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=3mcJkftBYXCNHfxFTJ4GQFLpQwoxsKluKhsAoC8Src8=; b=NJGVCtqa9CQflNFE2VrAtB94wluOkJAPsOC9AAieHqbeWuAdtFY9mY3R2K8MAWTai8 qxLap0a5tNt87dv6bVAbj51f4daF+KFUc+GusTA0jjyrCWOKvi3ILDi49ypZ0ye7vgH0 Xlopapgm7UFqWqkOfIfhYyOzwboxvJYxjS1/Eeql+CqFG9PiTZMXXjx9ik4VMEH4SIV4 inAsVW54w0nUK66uwoS75lL2B8jp9shEfQfLFH/7k73dTiTLs+f6OqqK5x99jm68XGHq WAB3aDtEqykTIIKzK8B35InZemzNA4k3sI+9rqtNz72A2Jymee3iXl9IfVmkH66mhsCR AWWw== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bj4-v6si939783plb.119.2018.07.19.22.07.54; Thu, 19 Jul 2018 22:08:08 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727289AbeGTFxj (ORCPT + 99 others); Fri, 20 Jul 2018 01:53:39 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:45526 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726879AbeGTFxj (ORCPT ); Fri, 20 Jul 2018 01:53:39 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 89E0372643; Fri, 20 Jul 2018 05:07:13 +0000 (UTC) Received: from localhost.localdomain (ovpn-12-74.pek2.redhat.com [10.72.12.74]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 16D5F7C3C; Fri, 20 Jul 2018 05:07:03 +0000 (UTC) Subject: Re: [PATCH 1/5 V5] Add a function(ioremap_encrypted) for kdump when AMD sme enabled To: Borislav Petkov Cc: linux-kernel@vger.kernel.org, mingo@redhat.com, tglx@linutronix.de, hpa@zytor.com, ebiederm@xmission.com, joro@8bytes.org, thomas.lendacky@amd.com, dyoung@redhat.com, kexec@lists.infradead.org, iommu@lists.linux-foundation.org, bhe@redhat.com References: <20180702072639.10110-1-lijiang@redhat.com> <20180702072639.10110-2-lijiang@redhat.com> <20180702101451.GB28730@zn.tnic> <4ae1cfb5-0a4b-2aac-2575-024e2c74826f@redhat.com> <895db996-febd-d50c-91af-4f1ef3d27bd8@redhat.com> <20180703111428.GB5748@zn.tnic> <4fbb843b-9597-a48b-8b6f-00e354b91950@redhat.com> <20180709092901.GA22182@nazgul.tnic> <20180713170857.GB17896@nazgul.tnic> From: lijiang Message-ID: <33453712-9b0b-e8b9-08a6-de09e0806dd6@redhat.com> Date: Fri, 20 Jul 2018 13:06:59 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20180713170857.GB17896@nazgul.tnic> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Fri, 20 Jul 2018 05:07:13 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.2]); Fri, 20 Jul 2018 05:07:13 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lijiang@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2018年07月14日 01:08, Borislav Petkov 写道: > On Mon, Jul 09, 2018 at 09:55:35PM +0800, lijiang wrote: >> About this issue, i want to use an example to describe it. >> /* drivers/iommu/amd_iommu_init.c */ >> static u8 __iomem * __init iommu_map_mmio_space(u64 address, u64 end) > > Those addresses come from the IVHD header which is an ACPI table. So the > dump kernel can find that out too. > Sure. I might understand your means, that will have to find all address out in order to cover any cases in kdump kernel, those address might include MMIO space, HPET, ACPI device table, ERST, and so on... >> Obviously, the iommu mmio space is not encrypted, and the device >> mmio space is outside kdump kernel. We know that the old memory is >> encrypted, and the old memory is also outside kdump kernel. For the >> current case, e820__get_entry_type() and walk_iomem_res_desc() can't >> get the desired result, so we can't also decide whether encryption >> or not according to this result(rules). If we want to know whether >> encryption or not by deducing the address, we will need to read the >> content of memory and have a reference value for comparison, then >> what's a reference value? Sometimes we don't know that. > > Again, if we don't know that how is the *caller* supposed to know > whether the memory is encrypted or not? Because > > "we" == "caller" > > in the kdump kernel. > > And the more important question is, why are we dumping MMIO space of the > previous kernel *at* *all*? That doesn't make any sense to me. > Sorry for my late reply. Here, it doesn't need to dump MMIO space of the previous kernel, when the kdump kernel boot, the MMIO address will be remapped in decryption manners, but the MMIO address don't belong to the range of the crash reserved memory, for the kdump kernel, the MMIO space(address) and IOMMU device table(address) are outside address, whereas, the IOMMU device table is encrypted in the first kernel, the kdump kernel will need to copy the content of IOMMU device table from the first kernel when the kdump kernel boot, so the IOMMU device table will be remapped in encryption manners. So some of them require to be remapped in encryption manners, and some(address) require to be remapped in decryption manners.