Message ID | 20250226200612.2062-2-mhklinux@outlook.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Krzysztof WilczyĆski |
Headers | show |
Series | hyperv: Introduce new way to manage hypercall args | expand |
On 2/26/2025 12:06 PM, mhkelley58@gmail.com wrote: > From: Michael Kelley <mhklinux@outlook.com> > > The hypercall in hv_mark_gpa_visibility() is invoked with an input > argument and an output argument. The output argument ostensibly returns > the number of pages that were processed. But in fact, the hypercall does > not provide any output, so the output argument is spurious. > > The spurious argument is harmless because Hyper-V ignores it, but in the > interest of correctness and to avoid the potential for future problems, > remove it. > > Signed-off-by: Michael Kelley <mhklinux@outlook.com> > --- > I have not provided a "Fixes:" tag because the error causes no impact. > There's no value in backporting the fix. > > arch/x86/hyperv/ivm.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c > index dd68d9ad9b22..ec7880271cf9 100644 > --- a/arch/x86/hyperv/ivm.c > +++ b/arch/x86/hyperv/ivm.c > @@ -464,7 +464,6 @@ static int hv_mark_gpa_visibility(u16 count, const u64 pfn[], > enum hv_mem_host_visibility visibility) > { > struct hv_gpa_range_for_visibility *input; > - u16 pages_processed; > u64 hv_status; > unsigned long flags; > > @@ -493,7 +492,7 @@ static int hv_mark_gpa_visibility(u16 count, const u64 pfn[], > memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn)); > hv_status = hv_do_rep_hypercall( > HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count, > - 0, input, &pages_processed); > + 0, input, NULL); > local_irq_restore(flags); > > if (hv_result_success(hv_status)) Reviewed-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
On Wed, Feb 26, 2025 at 02:59:53PM -0800, Nuno Das Neves wrote: > On 2/26/2025 12:06 PM, mhkelley58@gmail.com wrote: > > From: Michael Kelley <mhklinux@outlook.com> > > > > The hypercall in hv_mark_gpa_visibility() is invoked with an input > > argument and an output argument. The output argument ostensibly returns > > the number of pages that were processed. But in fact, the hypercall does > > not provide any output, so the output argument is spurious. > > > > The spurious argument is harmless because Hyper-V ignores it, but in the > > interest of correctness and to avoid the potential for future problems, > > remove it. > > > > Signed-off-by: Michael Kelley <mhklinux@outlook.com> > > --- > > I have not provided a "Fixes:" tag because the error causes no impact. > > There's no value in backporting the fix. > > > > arch/x86/hyperv/ivm.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c > > index dd68d9ad9b22..ec7880271cf9 100644 > > --- a/arch/x86/hyperv/ivm.c > > +++ b/arch/x86/hyperv/ivm.c > > @@ -464,7 +464,6 @@ static int hv_mark_gpa_visibility(u16 count, const u64 pfn[], > > enum hv_mem_host_visibility visibility) > > { > > struct hv_gpa_range_for_visibility *input; > > - u16 pages_processed; > > u64 hv_status; > > unsigned long flags; > > > > @@ -493,7 +492,7 @@ static int hv_mark_gpa_visibility(u16 count, const u64 pfn[], > > memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn)); > > hv_status = hv_do_rep_hypercall( > > HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count, > > - 0, input, &pages_processed); > > + 0, input, NULL); > > local_irq_restore(flags); > > > > if (hv_result_success(hv_status)) > > Reviewed-by: Nuno Das Neves <nunodasneves@linux.microsoft.com> Applied to hyperv-fixes, thanks!
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c index dd68d9ad9b22..ec7880271cf9 100644 --- a/arch/x86/hyperv/ivm.c +++ b/arch/x86/hyperv/ivm.c @@ -464,7 +464,6 @@ static int hv_mark_gpa_visibility(u16 count, const u64 pfn[], enum hv_mem_host_visibility visibility) { struct hv_gpa_range_for_visibility *input; - u16 pages_processed; u64 hv_status; unsigned long flags; @@ -493,7 +492,7 @@ static int hv_mark_gpa_visibility(u16 count, const u64 pfn[], memcpy((void *)input->gpa_page_list, pfn, count * sizeof(*pfn)); hv_status = hv_do_rep_hypercall( HVCALL_MODIFY_SPARSE_GPA_PAGE_HOST_VISIBILITY, count, - 0, input, &pages_processed); + 0, input, NULL); local_irq_restore(flags); if (hv_result_success(hv_status))