On Fri, Dec 11, 2020, Paolo Bonzini wrote: > From: "Maciej S. Szmigiero" <maciej.szmigiero@xxxxxxxxxx> > > Commit cae7ed3c2cb0 ("KVM: x86: Refactor the MMIO SPTE generation handling") > cleaned up the computation of MMIO generation SPTE masks, however it > introduced a bug how the upper part was encoded: > SPTE bits 52-61 were supposed to contain bits 10-19 of the current > generation number, however a missing shift encoded bits 1-10 there instead > (mostly duplicating the lower part of the encoded generation number that > then consisted of bits 1-9). > > In the meantime, the upper part was shrunk by one bit and moved by > subsequent commits to become an upper half of the encoded generation number > (bits 9-17 of bits 0-17 encoded in a SPTE). > > In addition to the above, commit 56871d444bc4 ("KVM: x86: fix overlap between SPTE_MMIO_MASK and generation") > has changed the SPTE bit range assigned to encode the generation number and > the total number of bits encoded but did not update them in the comment > attached to their defines, nor in the KVM MMU doc. > Let's do it here, too, since it is too trivial thing to warrant a separate > commit. > > Fixes: cae7ed3c2cb0 ("KVM: x86: Refactor the MMIO SPTE generation handling") > Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@xxxxxxxxxx> > Message-Id: <156700708db2a5296c5ed7a8b9ac71f1e9765c85.1607129096.git.maciej.szmigiero@xxxxxxxxxx> > Cc: stable@xxxxxxxxxx I assume you want stable@xxxxxxxxxxxxxxx? > [Reorganize macros so that everything is computed from the bit ranges. - Paolo] > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > --- > Compared to v2 by Maciej, I chose to keep GEN_MASK's argument calculated, Booooo. :-D Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx> > but assert on the number of bits in the low and high parts. This is > because any change on those numbers will have to be reflected in the > comment, and essentially we're asserting that the comment is up-to-date.