Re: [PATCH v3 5/5] hyperv: Do not overlap the hvcall IO areas in hv_vtl_apicid_to_vp_id()

From: Easwar Hariharan
Date: Thu Dec 26 2024 - 17:01:37 EST


On 12/26/2024 1:31 PM, Roman Kisel wrote:
> The Top-Level Functional Specification for Hyper-V, Section 3.6 [1, 2],
> disallows overlapping of the input and output hypercall areas, and
> hv_vtl_apicid_to_vp_id() overlaps them.
>
> Use the output hypercall page of the current vCPU for the hypercall.
>
> [1] https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/tlfs/hypercall-interface
> [2] https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/main/tlfs
>
> Signed-off-by: Roman Kisel <romank@xxxxxxxxxxxxxxxxxxx>
> ---
> arch/x86/hyperv/hv_vtl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c
> index 04775346369c..ec5716960162 100644
> --- a/arch/x86/hyperv/hv_vtl.c
> +++ b/arch/x86/hyperv/hv_vtl.c
> @@ -189,7 +189,7 @@ static int hv_vtl_apicid_to_vp_id(u32 apic_id)
> input->partition_id = HV_PARTITION_ID_SELF;
> input->apic_ids[0] = apic_id;
>
> - output = (u32 *)input;
> + output = (u32*)*this_cpu_ptr(hyperv_pcpu_output_arg);
^
Nit: I believe the space is preferred, but I won't insist on respinning
it for that.

It's a good idea to give credit to Michael with a Reported-by tag, and
maybe a Closes: tag with a link to his email.

As with the Fixes tag for patch 2, you don't need to respin the series
and can just reply to this thread.

Otherwise, looks good to me.

Reviewed-by: Easwar Hariharan <eahariha@xxxxxxxxxxxxxxxxxxx>