From: Naman Jain <namjain@linux.microsoft.com>
To: Jiale Yao <yaojiale02@163.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
Saurabh Sengar <ssengar@linux.microsoft.com>,
Roman Kisel <romank@linux.microsoft.com>,
Michael Kelley <mhklinux@outlook.com>,
linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mshv_vtl: initialize poll file mutex before device registration
Date: Mon, 19 Oct 2026 10:31:59 +0530 [thread overview]
Message-ID: <778a2d3c-19bd-43ec-bc72-26fc02bfea47@linux.microsoft.com> (raw)
In-Reply-To: <20261018034616.508850-1-yaojiale02@163.com>
On 10/18/2026 9:16 AM, Jiale Yao wrote:
> mshv_vtl_init() registers /dev/mshv before initializing the poll file
> mutex. A concurrent MSHV_SET_POLL_FILE ioctl can therefore attempt to lock
> an uninitialized mutex while module initialization is still in progress.
>
> Initialize the file-scope mutex statically so it is ready before the misc
> device becomes visible.
>
> Fixes: 7bfe3b8ea6e3 ("Drivers: hv: Introduce mshv_vtl driver")
> Signed-off-by: Jiale Yao <yaojiale02@163.com>
> ---
> drivers/hv/mshv_vtl_main.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/drivers/hv/mshv_vtl_main.c b/drivers/hv/mshv_vtl_main.c
> index d8225242c73f..2b40c9e3bf88 100644
> --- a/drivers/hv/mshv_vtl_main.c
> +++ b/drivers/hv/mshv_vtl_main.c
> @@ -95,7 +95,7 @@ union hv_synic_overlay_page_msr {
> } __packed;
> };
>
> -static struct mutex mshv_vtl_poll_file_lock;
> +static DEFINE_MUTEX(mshv_vtl_poll_file_lock);
> static union hv_register_vsm_page_offsets mshv_vsm_page_offsets;
> static union hv_register_vsm_capabilities mshv_vsm_capabilities;
>
> @@ -1370,8 +1370,6 @@ static int __init mshv_vtl_init(void)
> goto free_low;
> }
>
> - mutex_init(&mshv_vtl_poll_file_lock);
> -
> device_initialize(mem_dev);
> dev_set_name(mem_dev, "mshv vtl mem dev");
> ret = device_add(mem_dev);
While this issue may not happen in practice, as OpenVMM userspace runs
much later than these init function invocations, but it is good to have
the potential race condition fixed.
Reviewed-by: Naman Jain <namjain@linux.microsoft.com>
Regards,
Naman
prev parent reply other threads:[~2026-10-19 5:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-18 3:46 Jiale Yao
2026-10-19 5:01 ` Naman Jain [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=778a2d3c-19bd-43ec-bc72-26fc02bfea47@linux.microsoft.com \
--to=namjain@linux.microsoft.com \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhklinux@outlook.com \
--cc=romank@linux.microsoft.com \
--cc=ssengar@linux.microsoft.com \
--cc=wei.liu@kernel.org \
--cc=yaojiale02@163.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®