An error occurred fetching the project authors.
  1. 14 Jun, 2023 14 commits
  2. 06 Jun, 2023 8 commits
  3. 30 May, 2023 1 commit
    • Mostafa Saleh's avatar
      KVM: arm64: Use BTI for nvhe · b53d4a27
      Mostafa Saleh authored
      CONFIG_ARM64_BTI_KERNEL compiles the kernel to support ARMv8.5-BTI.
      However, the nvhe code doesn't make use of it as it doesn't map any
      pages with Guarded Page(GP) bit.
      
      kvm pgtable code is modified to map executable pages with GP bit
      if BTI is enabled for the kernel.
      
      At hyp init, SCTLR_EL2.BT is set to 1 to match EL1 configuration
      (SCTLR_EL1.BT1) set in bti_enable().
      
      One difference between kernel and nvhe code, is that the kernel maps
      .text with GP while nvhe maps all the executable pages, this makes
      nvhe code need to deal with special initialization code coming from
      other executable sections (.idmap.text).
      For this we need to add bti instruction at the beginning of
      __kvm_handle_stub_hvc as it can be called by  __host_hvc through
      branch instruction(br) and unlike SYM_FUNC_START, SYM_CODE_START
      doesn’t add bti instruction at the beginning, and it can’t be modified
      to add it as it is used with vector tables.
      Another solution which is more intrusive is to convert
      __kvm_handle_stub_hvc to a function and inject “bti jc” instead of
      “bti c” in SYM_FUNC_START
      Signed-off-by: default avatarMostafa Saleh <smostafa@google.com>
      Link: https://lore.kernel.org/r/20230530150845.2856828-1-smostafa@google.comSigned-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
      b53d4a27
  4. 24 May, 2023 1 commit
  5. 17 Apr, 2023 1 commit
  6. 13 Apr, 2023 1 commit
  7. 06 Apr, 2023 1 commit
  8. 30 Mar, 2023 1 commit
  9. 11 Feb, 2023 1 commit
  10. 26 Jan, 2023 1 commit
  11. 19 Jan, 2023 4 commits
  12. 12 Jan, 2023 2 commits
  13. 01 Dec, 2022 4 commits