]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: Clean up coalesced MMIO ring full check
authorSean Christopherson <seanjc@google.com>
Wed, 28 Aug 2024 18:14:46 +0000 (11:14 -0700)
committerSean Christopherson <seanjc@google.com>
Fri, 30 Aug 2024 02:38:33 +0000 (19:38 -0700)
commite027ba1b83ad017a56c108eea2f42eb9f8ae5204
treeb67cdc6797d5cd29bc7d50ebba6e69769c4b5156
parent215b3cb7a84f8d97b81fe8536cec05a11496da51
KVM: Clean up coalesced MMIO ring full check

Fold coalesced_mmio_has_room() into its sole caller, coalesced_mmio_write(),
as it's really just a single line of code, has a goofy return value, and
is unnecessarily brittle.

E.g. if coalesced_mmio_has_room() were to check ring->last directly, or
the caller failed to use READ_ONCE(), KVM would be susceptible to TOCTOU
attacks from userspace.

Opportunistically add a comment explaining why on earth KVM leaves one
entry free, which may not be obvious to readers that aren't familiar with
ring buffers.

No functional change intended.

Reviewed-by: Ilias Stamatis <ilstam@amazon.com>
Cc: Paul Durrant <paul@xen.org>
Link: https://lore.kernel.org/r/20240828181446.652474-3-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
virt/kvm/coalesced_mmio.c