From: Sean Christopherson <seanjc@google.com>
To: Mathias Krause <minipli@grsecurity.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH 3/3] KVM: x86: Fix broken debugregs ABI for 32 bit kernels
Date: Mon, 5 Feb 2024 10:46:43 -0800 [thread overview]
Message-ID: <ZcEtExGzJKCnuRLg@google.com> (raw)
In-Reply-To: <20240203124522.592778-4-minipli@grsecurity.net>
On Sat, Feb 03, 2024, Mathias Krause wrote:
> The ioctl()s to get and set KVM's debug registers are broken for 32 bit
> kernels as they'd only copy half of the user register state because of a
> UAPI and in-kernel type mismatch (__u64 vs. unsigned long; 8 vs. 4
> bytes).
>
> This makes it impossible for userland to set anything but DR0 without
> resorting to bit folding tricks.
>
> Switch to a loop for copying debug registers that'll implicitly do the
> type conversion for us, if needed.
>
> There are likely no users (left) for 32bit KVM, fix the bug nonetheless.
And this has always been broken, so if there were ever users of 32-bit KVM, they
obviously didn't use this API :-)
If the code weren't also a cleanup for 64-bit, I would vote to change the APIs
to just fail for 32-bit. But there's just no good reason to assume that the
layouts of KVM's internal storage and "struct kvm_debugregs" are identical.
next prev parent reply other threads:[~2024-02-05 18:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-03 12:45 [PATCH 0/3] KVM: x86 - misc fixes Mathias Krause
2024-02-03 12:45 ` [PATCH 1/3] KVM: x86: Fix KVM_GET_MSRS stack info leak Mathias Krause
2024-02-04 1:28 ` Xiaoyao Li
2024-02-05 18:42 ` Sean Christopherson
2024-02-06 17:52 ` Mathias Krause
2024-02-03 12:45 ` [PATCH 2/3] KVM: x86: Simplify kvm_vcpu_ioctl_x86_get_debugregs() Mathias Krause
2024-02-04 1:05 ` Xiaoyao Li
2024-02-05 19:53 ` Sean Christopherson
2024-02-06 18:15 ` Mathias Krause
2024-02-06 18:24 ` Sean Christopherson
2024-02-06 18:30 ` Mathias Krause
2024-02-06 18:32 ` Mathias Krause
2024-02-03 12:45 ` [PATCH 3/3] KVM: x86: Fix broken debugregs ABI for 32 bit kernels Mathias Krause
2024-02-05 18:46 ` Sean Christopherson [this message]
2024-02-06 18:23 ` Mathias Krause
2024-02-05 19:56 ` [PATCH 0/3] KVM: x86 - misc fixes Sean Christopherson
2024-02-06 18:24 ` Mathias Krause
2024-02-06 18:52 ` Sean Christopherson
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=ZcEtExGzJKCnuRLg@google.com \
--to=seanjc@google.com \
--cc=kvm@vger.kernel.org \
--cc=minipli@grsecurity.net \
--cc=pbonzini@redhat.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 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.