Documentation/virt/kvm/api.rst | 9 ++++++++- arch/x86/kvm/x86.c | 13 ++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-)
This series follows Sean's suggestions [1][2] to: - Reject vCPU scope KVM_SET_TSC_KHZ ioctl for TSC protected vCPU - Reject VM scope KVM_SET_TSC_KHZ ioctl when vCPUs have been created .. in the discussion of SEV-SNP Secure TSC support series. v1 -> v2: - Protect kvm->create_vcpus check using kvm->lock. - Chao. - Add documentation update to each patch. -Nikunj. - Collect RB (Xiaoyao, Nikunj). - Switched the patch order to make documentation update easier. v1: https://lore.kernel.org/kvm/cover.1752038725.git.kai.huang@intel.com/ Hi Xiaoyao, Nikunj, I added your RB anyway, so let me know if you have concern :-) This series has been sanity tested with TDX guests using today's Qemu: - With this series Qemu can still run TDX guests successfully. - With some hack to the Qemu, both VM and vCPU scope KVM_SET_TSC_KHZ ioctls failed as expected. Kai Huang (2): KVM: x86: Reject KVM_SET_TSC_KHZ VM ioctl when vCPUs have been created KVM: x86: Reject KVM_SET_TSC_KHZ vCPU ioctl for TSC protected guest Documentation/virt/kvm/api.rst | 9 ++++++++- arch/x86/kvm/x86.c | 13 ++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) base-commit: 6c7ecd725e503bf2ca69ff52c6cc48bb650b1f11 -- 2.50.0
On Mon, 14 Jul 2025 10:20:18 +1200, Kai Huang wrote:
> This series follows Sean's suggestions [1][2] to:
>
> - Reject vCPU scope KVM_SET_TSC_KHZ ioctl for TSC protected vCPU
> - Reject VM scope KVM_SET_TSC_KHZ ioctl when vCPUs have been created
>
> .. in the discussion of SEV-SNP Secure TSC support series.
>
> [...]
Applied patch 2 to kvm-x86 fixes, with a tweaked changelog to call out that
TDX support hasn't yet been released, i.e. that there is no established ABI
to break.
Applied patch 1 to kvm-x86 misc, with tweaked documentation to not imply that
userspace "must" invoke the ioctl. I think this is the last patch I'll throw
into misc for 6.17? So in theory, if it breaks userspace, I can simply
truncate it from the pull request.
[1/2] KVM: x86: Reject KVM_SET_TSC_KHZ VM ioctl when vCPUs have been created
https://github.com/kvm-x86/linux/commit/dcbe5a466c12
[2/2] KVM: x86: Reject KVM_SET_TSC_KHZ vCPU ioctl for TSC protected guest
https://github.com/kvm-x86/linux/commit/e51cf184d90c
--
https://github.com/kvm-x86/linux/tree/next
On Mon, 2025-07-14 at 17:23 -0700, Sean Christopherson wrote:
> On Mon, 14 Jul 2025 10:20:18 +1200, Kai Huang wrote:
> > This series follows Sean's suggestions [1][2] to:
> >
> > - Reject vCPU scope KVM_SET_TSC_KHZ ioctl for TSC protected vCPU
> > - Reject VM scope KVM_SET_TSC_KHZ ioctl when vCPUs have been created
> >
> > .. in the discussion of SEV-SNP Secure TSC support series.
> >
> > [...]
>
> Applied patch 2 to kvm-x86 fixes, with a tweaked changelog to call out that
> TDX support hasn't yet been released, i.e. that there is no established ABI
> to break.
>
> Applied patch 1 to kvm-x86 misc, with tweaked documentation to not imply that
> userspace "must" invoke the ioctl. I think this is the last patch I'll throw
> into misc for 6.17? So in theory, if it breaks userspace, I can simply
> truncate it from the pull request.
Thanks!
>
> [1/2] KVM: x86: Reject KVM_SET_TSC_KHZ VM ioctl when vCPUs have been created
> https://github.com/kvm-x86/linux/commit/dcbe5a466c12
> [2/2] KVM: x86: Reject KVM_SET_TSC_KHZ vCPU ioctl for TSC protected guest
> https://github.com/kvm-x86/linux/commit/e51cf184d90c
Btw, in the second patch it seems you have:
Fixes; adafea1 ("KVM: x86: Add infrastructure for secure TSC")
Shouldn't we follow the standard format, i.e.,
Fixes: adafea110600 ("KVM: x86: Add infrastructure for secure TSC")
?
On Tue, Jul 15, 2025, Kai Huang wrote:
> On Mon, 2025-07-14 at 17:23 -0700, Sean Christopherson wrote:
> > On Mon, 14 Jul 2025 10:20:18 +1200, Kai Huang wrote:
> > > This series follows Sean's suggestions [1][2] to:
> > >
> > > - Reject vCPU scope KVM_SET_TSC_KHZ ioctl for TSC protected vCPU
> > > - Reject VM scope KVM_SET_TSC_KHZ ioctl when vCPUs have been created
> > >
> > > .. in the discussion of SEV-SNP Secure TSC support series.
> > >
> > > [...]
> >
> > Applied patch 2 to kvm-x86 fixes, with a tweaked changelog to call out that
> > TDX support hasn't yet been released, i.e. that there is no established ABI
> > to break.
> >
> > Applied patch 1 to kvm-x86 misc, with tweaked documentation to not imply that
> > userspace "must" invoke the ioctl. I think this is the last patch I'll throw
> > into misc for 6.17? So in theory, if it breaks userspace, I can simply
> > truncate it from the pull request.
>
> Thanks!
>
> >
> > [1/2] KVM: x86: Reject KVM_SET_TSC_KHZ VM ioctl when vCPUs have been created
> > https://github.com/kvm-x86/linux/commit/dcbe5a466c12
> > [2/2] KVM: x86: Reject KVM_SET_TSC_KHZ vCPU ioctl for TSC protected guest
> > https://github.com/kvm-x86/linux/commit/e51cf184d90c
>
> Btw, in the second patch it seems you have:
>
> Fixes; adafea1 ("KVM: x86: Add infrastructure for secure TSC")
>
> Shouldn't we follow the standard format, i.e.,
>
> Fixes: adafea110600 ("KVM: x86: Add infrastructure for secure TSC")
Ugh, yes, the semi-colon is just a typo. New hash:
https://github.com/kvm-x86/linux/commit/b24bbb534c2d
© 2016 - 2026 Red Hat, Inc.