lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 12 Apr 2022 10:01:21 +0200 From: Paul Menzel <pmenzel@...gen.mpg.de> To: Alex Deucher <alexdeucher@...il.com>, Yongqiang Sun <yongqiang.sun@....com> Cc: Jingwen Chen <jingwen.chen2@....com>, "Luo, Zhigang" <zhigang.luo@....com>, amd-gfx@...ts.freedesktop.org, monk.liu@....com, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>, Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org, LKML <linux-kernel@...r.kernel.org> Subject: Re: [PATCH] drm/amd/amdgpu: Not request init data for MS_HYPERV with vega10 [Cc: +x86 folks] Dear Alex, dear x86 folks, x86 folks, can you think of alternatives to access `X86_HYPER_MS_HYPERV` from `arch/x86/include/asm/hypervisor.h` without any preprocessor ifdef-ery? Am 11.04.22 um 18:28 schrieb Alex Deucher: > On Mon, Apr 11, 2022 at 11:28 AM Paul Menzel wrote: […] >> Am 11.04.22 um 15:59 schrieb Yongqiang Sun: >>> MS_HYPERV with vega10 doesn't have the interface to process >>> request init data msg. >> >> Should some Hyper-V folks be added to the reviewers list too? >> >>> Check hypervisor type to not send the request for MS_HYPERV. >> >> Please add a blank line between paragraphs. >> >>> Signed-off-by: Yongqiang Sun <yongqiang.sun@....com> >>> --- >>> drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 12 ++++++++++-- >>> 1 file changed, 10 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c >>> index 933c41f77c92..56b130ec44a9 100644 >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c >>> @@ -23,6 +23,10 @@ >>> >>> #include <linux/module.h> >>> >>> +#ifdef CONFIG_X86 >>> +#include <asm/hypervisor.h> >>> +#endif >>> + >>> #include <drm/drm_drv.h> >>> >>> #include "amdgpu.h" >>> @@ -721,8 +725,12 @@ void amdgpu_detect_virtualization(struct amdgpu_device *adev) >>> break; >>> case CHIP_VEGA10: >>> soc15_set_virt_ops(adev); >>> - /* send a dummy GPU_INIT_DATA request to host on vega10 */ >>> - amdgpu_virt_request_init_data(adev); >>> +#ifdef CONFIG_X86 >>> + /* not send GPU_INIT_DATA with MS_HYPERV*/ >>> + if (hypervisor_is_type(X86_HYPER_MS_HYPERV) == false) >>> +#endif >> >> Why guard everything with CONFIG_X86? (If it’s needed, it should be done >> in C code.) > > X86_HYPER_MS_HYPERV only available on x86. Sorry, I missed the X86 dependency when quickly looking at the Hyper-V stub IOMMU driver `drivers/iommu/hyperv-iommu.c`, but missed that `HYPERV_IOMMU` has `depends on HYPERV && X86`. Kind regards, Paul >>> + /* send a dummy GPU_INIT_DATA request to host on vega10 */ >>> + amdgpu_virt_request_init_data(adev); >>> break; >>> case CHIP_VEGA20: >>> case CHIP_ARCTURUS: >> >> >> Kind regards, >> >> Paul
Powered by blists - more mailing lists