From: "Doru Blânzeanu" <dblanzeanu@linux.microsoft.com>
To: Magnus Kulke <magnuskulke@linux.microsoft.com>
Cc: qemu-devel@nongnu.org, "Wei Liu" <liuwe@microsoft.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Doru Blânzeanu" <doru.blanzeanu@microsoft.com>,
"Magnus Kulke" <magnuskulke@microsoft.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Wei Liu" <wei.liu@kernel.org>
Subject: Re: [PATCH] accel/mshv: Fix pointer to proc feature bitfield
Date: Thu, 2 Jul 2026 16:48:35 +0300 [thread overview]
Message-ID: <akZsM5Je3Pn8OnYq@linux.microsoft.com> (raw)
In-Reply-To: <20260701130335.418156-1-magnuskulke@linux.microsoft.com>
On Wed, Jul 01, 2026 at 03:03:35PM +0200, Magnus Kulke wrote:
> Processor features are stored in a union containing two "banks":
>
> union hv_partition_processor_features {
> uint64_t as_uint[2];
> struct {
> uint64_t sse3_support:1;
> ...
> }
> }
>
> get_proc_features() to retrieve the 2nd bank was passing a pointer that
> steps over the whole union (+16B) instead of picking the 2nd bank _in_
> the union. This manifests in mismatching feature bits for the 2nd bank
> and possibly other side-effects caused by writing beyond the union.
>
> We need to step over the first bank (+8B) by using as_uint64[0/1] to
> correct this behaviour.
>
> Fixes: 2f6da91e8a ("accel/mshv: store partition proc features")
> Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
> ---
> accel/mshv/mshv-all.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/accel/mshv/mshv-all.c b/accel/mshv/mshv-all.c
> index 9452504ac2..c8b7f10294 100644
> --- a/accel/mshv/mshv-all.c
> +++ b/accel/mshv/mshv-all.c
> @@ -167,7 +167,7 @@ static int get_proc_features(int vm_fd,
>
> ret = get_partition_property(vm_fd,
> HV_PARTITION_PROPERTY_PROCESSOR_FEATURES0,
> - features[0].as_uint64);
> + &features->as_uint64[0]);
> if (ret < 0) {
> error_report("Failed to get processor features bank 0");
> return -1;
> @@ -175,7 +175,7 @@ static int get_proc_features(int vm_fd,
>
> ret = get_partition_property(vm_fd,
> HV_PARTITION_PROPERTY_PROCESSOR_FEATURES1,
> - features[1].as_uint64);
> + &features->as_uint64[1]);
> if (ret < 0) {
> error_report("Failed to get processor features bank 1");
> return -1;
> --
> 2.34.1
Reviewed-by: Doru Blânzeanu <dblanzeanu@linux.microsoft.com>
next prev parent reply other threads:[~2026-07-02 13:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 13:03 [PATCH] accel/mshv: Fix pointer to proc feature bitfield Magnus Kulke
2026-07-01 13:20 ` Peter Maydell
2026-07-02 13:48 ` Doru Blânzeanu [this message]
2026-07-06 7:25 ` Philippe Mathieu-Daudé
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=akZsM5Je3Pn8OnYq@linux.microsoft.com \
--to=dblanzeanu@linux.microsoft.com \
--cc=doru.blanzeanu@microsoft.com \
--cc=liuwe@microsoft.com \
--cc=magnuskulke@linux.microsoft.com \
--cc=magnuskulke@microsoft.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=wei.liu@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.