1. 25 5月, 2019 29 次提交
  2. 24 5月, 2019 3 次提交
    • J
      KVM: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation · 623e1528
      James Morse 提交于
      KVM has helpers to handle the condition codes of trapped aarch32
      instructions. These are marked __hyp_text and used from HYP, but they
      aren't built by the 'hyp' Makefile, which has all the runes to avoid ASAN
      and KCOV instrumentation.
      
      Move this code to a new hyp/aarch32.c to avoid a hyp-panic when starting
      an aarch32 guest on a host built with the ASAN/KCOV debug options.
      
      Fixes: 021234ef ("KVM: arm64: Make kvm_condition_valid32() accessible from EL2")
      Fixes: 8cebe750 ("arm64: KVM: Make kvm_skip_instr32 available to HYP")
      Signed-off-by: NJames Morse <james.morse@arm.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      623e1528
    • J
      KVM: arm64: Move pmu hyp code under hyp's Makefile to avoid instrumentation · b7c50fab
      James Morse 提交于
      KVM's pmu.c contains the __hyp_text needed to switch the pmu registers
      between host and guest. Because this isn't covered by the 'hyp' Makefile,
      it can be built with kasan and friends when these are enabled in Kconfig.
      
      When starting a guest, this results in:
      | Kernel panic - not syncing: HYP panic:
      | PS:a00003c9 PC:000083000028ada0 ESR:86000007
      | FAR:000083000028ada0 HPFAR:0000000029df5300 PAR:0000000000000000
      | VCPU:000000004e10b7d6
      | CPU: 0 PID: 3088 Comm: qemu-system-aar Not tainted 5.2.0-rc1 #11026
      | Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno Development Plat
      | Call trace:
      |  dump_backtrace+0x0/0x200
      |  show_stack+0x20/0x30
      |  dump_stack+0xec/0x158
      |  panic+0x1ec/0x420
      |  panic+0x0/0x420
      | SMP: stopping secondary CPUs
      | Kernel Offset: disabled
      | CPU features: 0x002,25006082
      | Memory Limit: none
      | ---[ end Kernel panic - not syncing: HYP panic:
      
      This is caused by functions in pmu.c calling the instrumented
      code, which isn't mapped to hyp. From objdump -r:
      | RELOCATION RECORDS FOR [.hyp.text]:
      | OFFSET           TYPE              VALUE
      | 0000000000000010 R_AARCH64_CALL26  __sanitizer_cov_trace_pc
      | 0000000000000018 R_AARCH64_CALL26  __asan_load4_noabort
      | 0000000000000024 R_AARCH64_CALL26  __asan_load4_noabort
      
      Move the affected code to a new file under 'hyp's Makefile.
      
      Fixes: 3d91befb ("arm64: KVM: Enable !VHE support for :G/:H perf event modifiers")
      Cc: Andrew Murray <Andrew.Murray@arm.com>
      Signed-off-by: NJames Morse <james.morse@arm.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      b7c50fab
    • C
      MAINTAINERS: KVM: arm/arm64: Remove myself as maintainer · 493fcbc8
      Christoffer Dall 提交于
      I no longer have time to actively review patches and manage the tree and
      it's time to make that official.
      
      Huge thanks to the incredible Linux community and all the contributors
      who have put up with me over the past years.
      
      I also take this opportunity to remove the website link to the Columbia
      web page, as that information is no longer up to date and I don't know
      who manages that anymore.
      Signed-off-by: NChristoffer Dall <christoffer.dall@arm.com>
      Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
      493fcbc8
  3. 20 5月, 2019 8 次提交