Re: [PATCH 1/4] x86/hyperv: Add missing ARCH_HAS_CC_PLATFORM dependency

From: Tianyu Lan
Date: Wed Feb 23 2022 - 02:04:54 EST


On 2/23/2022 4:08 AM, Borislav Petkov wrote:
On Tue, Feb 22, 2022 at 09:57:37PM +0300, Kirill A. Shutemov wrote:
On x86, cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT) supposes to return
true for HyperV if isolation is supported. But it only does it if the
kernel is compiled with AMD_MEM_ENCRYPT enabled.

It happens due to missed ARCH_HAS_CC_PLATFORM dependency. Without
ARCH_HAS_CC_PLATFORM enabled, cc_platform_has() always returns false.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>
Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
Cc: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>
Cc: Wei Liu <wei.liu@xxxxxxxxxx>
Cc: Dexuan Cui <decui@xxxxxxxxxxxxx>
Cc: Tianyu Lan <Tianyu.Lan@xxxxxxxxxxxxx>
---
drivers/hv/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
index 0747a8f1fcee..424d3f0751dc 100644
--- a/drivers/hv/Kconfig
+++ b/drivers/hv/Kconfig
@@ -8,6 +8,7 @@ config HYPERV
|| (ARM64 && !CPU_BIG_ENDIAN))
select PARAVIRT
select X86_HV_CALLBACK_VECTOR if X86
+ select ARCH_HAS_CC_PLATFORM if x86
select VMAP_PFN
help
Select this option to run Linux as a Hyper-V client operating
--

Good catch.

I'm guessing this needs

Fixes: c789b90a6904 ("x86/hyper-v: Add hyperv Isolation VM check in the cc_platform_has()")

which added hyperv_cc_platform_has() and which needs to go to Linus now,
as an urgent fix for 5.17 as that patch came into 5.17-rc1.

Wei?


Hi Borias, wei and Kill:
Current Hyper-V Isolation VM requires AMD_MEM_ENCRYPT option which selects ARCH_HAS_CC_PLATFORM. Linux guest can't boot up without AMD_MEM_ENCRYPT option. So this is why not select ARCH_HAS_CC_PLATFORM
here.