[PATCH] Drivers: hv: Fix bad pointer dereference in hv_get_partition_id

Nuno Das Neves posted 1 patch 1 week, 2 days ago
drivers/hv/hv_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] Drivers: hv: Fix bad pointer dereference in hv_get_partition_id
Posted by Nuno Das Neves 1 week, 2 days ago
'output' is already a pointer to the output argument, it should be
passed directly to hv_do_hypercall() without the '&' operator.

Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
---
This patch is a fixup for:
e96204e5e96e hyperv: Move hv_current_partition_id to arch-generic code

 drivers/hv/hv_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
index b3b11be11650..a7d7494feaca 100644
--- a/drivers/hv/hv_common.c
+++ b/drivers/hv/hv_common.c
@@ -307,7 +307,7 @@ void __init hv_get_partition_id(void)
 
 	local_irq_save(flags);
 	output = *this_cpu_ptr(hyperv_pcpu_input_arg);
-	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, &output);
+	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, output);
 	pt_id = output->partition_id;
 	local_irq_restore(flags);
 
-- 
2.34.1
Re: [PATCH] Drivers: hv: Fix bad pointer dereference in hv_get_partition_id
Posted by Wei Liu 3 days, 13 hours ago
On Tue, Apr 01, 2025 at 10:32:17AM -0700, Nuno Das Neves wrote:
> 'output' is already a pointer to the output argument, it should be
> passed directly to hv_do_hypercall() without the '&' operator.
> 
> Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>

Applied to hyperv-fixes. Thanks.

> ---
> This patch is a fixup for:
> e96204e5e96e hyperv: Move hv_current_partition_id to arch-generic code
> 
>  drivers/hv/hv_common.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
> index b3b11be11650..a7d7494feaca 100644
> --- a/drivers/hv/hv_common.c
> +++ b/drivers/hv/hv_common.c
> @@ -307,7 +307,7 @@ void __init hv_get_partition_id(void)
>  
>  	local_irq_save(flags);
>  	output = *this_cpu_ptr(hyperv_pcpu_input_arg);
> -	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, &output);
> +	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, output);
>  	pt_id = output->partition_id;
>  	local_irq_restore(flags);
>  
> -- 
> 2.34.1
>
Re: [PATCH] Drivers: hv: Fix bad pointer dereference in hv_get_partition_id
Posted by Markus Elfring 1 week ago
> 'output' is already a pointer to the output argument, it should be
> passed directly to hv_do_hypercall() without the '&' operator.

See also:
https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.14#n94


How do you think about to append parentheses to the function name
in the summary phrase?

Regards,
Markus
Re: [PATCH] Drivers: hv: Fix bad pointer dereference in hv_get_partition_id
Posted by Naman Jain 1 week ago

On 4/1/2025 11:02 PM, Nuno Das Neves wrote:
> 'output' is already a pointer to the output argument, it should be
> passed directly to hv_do_hypercall() without the '&' operator.
> 
> Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
> ---
> This patch is a fixup for:
> e96204e5e96e hyperv: Move hv_current_partition_id to arch-generic code

You can add Fixes: tag, so that it gets ported to previous kernel, in 
case, it does not make it to 6.14.


Regards,
Naman

> 
>   drivers/hv/hv_common.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
> index b3b11be11650..a7d7494feaca 100644
> --- a/drivers/hv/hv_common.c
> +++ b/drivers/hv/hv_common.c
> @@ -307,7 +307,7 @@ void __init hv_get_partition_id(void)
>   
>   	local_irq_save(flags);
>   	output = *this_cpu_ptr(hyperv_pcpu_input_arg);
> -	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, &output);
> +	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, output);
>   	pt_id = output->partition_id;
>   	local_irq_restore(flags);
>
Re: [PATCH] Drivers: hv: Fix bad pointer dereference in hv_get_partition_id
Posted by Wei Liu 3 days, 13 hours ago
On Thu, Apr 03, 2025 at 01:54:37PM +0530, Naman Jain wrote:
> 
> 
> On 4/1/2025 11:02 PM, Nuno Das Neves wrote:
> > 'output' is already a pointer to the output argument, it should be
> > passed directly to hv_do_hypercall() without the '&' operator.
> > 
> > Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
> > ---
> > This patch is a fixup for:
> > e96204e5e96e hyperv: Move hv_current_partition_id to arch-generic code
> 
> You can add Fixes: tag, so that it gets ported to previous kernel, in case,
> it does not make it to 6.14.

This does not need to be ported to older kernels because the bug was
never released.

Wei.

> 
> 
> Regards,
> Naman
> 
> > 
> >   drivers/hv/hv_common.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
> > index b3b11be11650..a7d7494feaca 100644
> > --- a/drivers/hv/hv_common.c
> > +++ b/drivers/hv/hv_common.c
> > @@ -307,7 +307,7 @@ void __init hv_get_partition_id(void)
> >   	local_irq_save(flags);
> >   	output = *this_cpu_ptr(hyperv_pcpu_input_arg);
> > -	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, &output);
> > +	status = hv_do_hypercall(HVCALL_GET_PARTITION_ID, NULL, output);
> >   	pt_id = output->partition_id;
> >   	local_irq_restore(flags);
>
Re: [PATCH] Drivers: hv: Fix bad pointer dereference in hv_get_partition_id
Posted by Wei Liu 3 days, 13 hours ago
On Mon, Apr 07, 2025 at 05:24:08AM +0000, Wei Liu wrote:
> On Thu, Apr 03, 2025 at 01:54:37PM +0530, Naman Jain wrote:
> > 
> > 
> > On 4/1/2025 11:02 PM, Nuno Das Neves wrote:
> > > 'output' is already a pointer to the output argument, it should be
> > > passed directly to hv_do_hypercall() without the '&' operator.
> > > 
> > > Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
> > > ---
> > > This patch is a fixup for:
> > > e96204e5e96e hyperv: Move hv_current_partition_id to arch-generic code
> > 
> > You can add Fixes: tag, so that it gets ported to previous kernel, in case,
> > it does not make it to 6.14.
> 
> This does not need to be ported to older kernels because the bug was
> never released.

To be clear that was just a passing comment. I'm not against adding a
Fixes tag. I've done that while applying this patch.

Thanks,
Wei.