Skip to content
  1. Jan 18, 2017
  2. Dec 25, 2016
  3. Dec 24, 2016
  4. Dec 21, 2016
  5. Dec 20, 2016
  6. Dec 15, 2016
  7. Dec 14, 2016
  8. Dec 12, 2016
  9. Dec 09, 2016
    • Marc Zyngier's avatar
      arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest · 21cbe3cc
      Marc Zyngier authored
      
      
      The ARMv8 architecture allows the cycle counter to be configured
      by setting PMSELR_EL0.SEL==0x1f and then accessing PMXEVTYPER_EL0,
      hence accessing PMCCFILTR_EL0. But it disallows the use of
      PMSELR_EL0.SEL==0x1f to access the cycle counter itself through
      PMXEVCNTR_EL0.
      
      Linux itself doesn't violate this rule, but we may end up with
      PMSELR_EL0.SEL being set to 0x1f when we enter a guest. If that
      guest accesses PMXEVCNTR_EL0, the access may UNDEF at EL1,
      despite the guest not having done anything wrong.
      
      In order to avoid this unfortunate course of events (haha!), let's
      sanitize PMSELR_EL0 on guest entry. This ensures that the guest
      won't explode unexpectedly.
      
      Cc: stable@vger.kernel.org #4.6+
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      21cbe3cc
  10. Dec 07, 2016
  11. Dec 06, 2016
  12. Dec 05, 2016
  13. Dec 02, 2016
  14. Dec 01, 2016
  15. Nov 30, 2016
Loading