drivers/hv/mshv_synic.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
Move the NULL check on "partition" before the dereference.
Fixes: f5288d14069b ("Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
drivers/hv/mshv_synic.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/hv/mshv_synic.c b/drivers/hv/mshv_synic.c
index a3daedd680ff..88949beb5e37 100644
--- a/drivers/hv/mshv_synic.c
+++ b/drivers/hv/mshv_synic.c
@@ -151,13 +151,12 @@ static bool mshv_async_call_completion_isr(struct hv_message *msg)
rcu_read_lock();
partition = mshv_partition_find(partition_id);
- partition->async_hypercall_status = async_msg->status;
-
if (unlikely(!partition)) {
pr_debug("failed to find partition %llu\n", partition_id);
goto unlock_out;
}
+ partition->async_hypercall_status = async_msg->status;
complete(&partition->async_hypercall);
handled = true;
--
2.47.2
On 3/21/2025 7:35 AM, Dan Carpenter wrote:
> Move the NULL check on "partition" before the dereference.
>
> Fixes: f5288d14069b ("Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
> drivers/hv/mshv_synic.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/hv/mshv_synic.c b/drivers/hv/mshv_synic.c
> index a3daedd680ff..88949beb5e37 100644
> --- a/drivers/hv/mshv_synic.c
> +++ b/drivers/hv/mshv_synic.c
> @@ -151,13 +151,12 @@ static bool mshv_async_call_completion_isr(struct hv_message *msg)
> rcu_read_lock();
>
> partition = mshv_partition_find(partition_id);
> - partition->async_hypercall_status = async_msg->status;
> -
> if (unlikely(!partition)) {
> pr_debug("failed to find partition %llu\n", partition_id);
> goto unlock_out;
> }
>
> + partition->async_hypercall_status = async_msg->status;
> complete(&partition->async_hypercall);
>
> handled = true;
Thanks for catching this one!
Wei could you please apply or squash this into the driver patch?
Thanks
Nuno
On Fri, Mar 21, 2025 at 09:53:45AM -0700, Nuno Das Neves wrote:
> On 3/21/2025 7:35 AM, Dan Carpenter wrote:
> > Move the NULL check on "partition" before the dereference.
> >
> > Fixes: f5288d14069b ("Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs")
> > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> > ---
> > drivers/hv/mshv_synic.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/hv/mshv_synic.c b/drivers/hv/mshv_synic.c
> > index a3daedd680ff..88949beb5e37 100644
> > --- a/drivers/hv/mshv_synic.c
> > +++ b/drivers/hv/mshv_synic.c
> > @@ -151,13 +151,12 @@ static bool mshv_async_call_completion_isr(struct hv_message *msg)
> > rcu_read_lock();
> >
> > partition = mshv_partition_find(partition_id);
> > - partition->async_hypercall_status = async_msg->status;
> > -
> > if (unlikely(!partition)) {
> > pr_debug("failed to find partition %llu\n", partition_id);
> > goto unlock_out;
> > }
> >
> > + partition->async_hypercall_status = async_msg->status;
> > complete(&partition->async_hypercall);
> >
> > handled = true;
>
> Thanks for catching this one!
> Wei could you please apply or squash this into the driver patch?
Thank you Dan. I squashed this fix to the original patch.
© 2016 - 2025 Red Hat, Inc.