1. 23 12月, 2021 1 次提交
  2. 20 12月, 2021 1 次提交
    • N
      powerpc/64s/radix: Fix huge vmap false positive · 467ba14e
      Nicholas Piggin 提交于
      pmd_huge() is defined to false when HUGETLB_PAGE is not configured, but
      the vmap code still installs huge PMDs. This leads to false bad PMD
      errors when vunmapping because it is not seen as a huge PTE, and the bad
      PMD check catches it. The end result may not be much more serious than
      some bad pmd warning messages, because the pmd_none_or_clear_bad() does
      what we wanted and clears the huge PTE anyway.
      
      Fix this by checking pmd_is_leaf(), which checks for a PTE regardless of
      config options. The whole huge/large/leaf stuff is a tangled mess but
      that's kernel-wide and not something we can improve much in arch/powerpc
      code.
      
      pmd_page(), pud_page(), etc., called by vmalloc_to_page() on huge vmaps
      can similarly trigger a false VM_BUG_ON when CONFIG_HUGETLB_PAGE=n, so
      those checks are adjusted. The checks were added by commit d6eacedd
      ("powerpc/book3s: Use config independent helpers for page table walk"),
      while implementing a similar fix for other page table walking functions.
      
      Fixes: d909f910 ("powerpc/64s/radix: Enable HAVE_ARCH_HUGE_VMAP")
      Cc: stable@vger.kernel.org # v5.3+
      Signed-off-by: NNicholas Piggin <npiggin@gmail.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20211216103342.609192-1-npiggin@gmail.com
      467ba14e
  3. 09 12月, 2021 19 次提交
  4. 02 12月, 2021 7 次提交
  5. 30 11月, 2021 2 次提交
  6. 29 11月, 2021 3 次提交
  7. 25 11月, 2021 1 次提交
  8. 24 11月, 2021 1 次提交
  9. 16 11月, 2021 1 次提交
  10. 15 11月, 2021 2 次提交
  11. 10 11月, 2021 1 次提交
  12. 07 11月, 2021 1 次提交