Skip to content
Snippets Groups Projects
  1. Aug 30, 2023
  2. Aug 26, 2023
  3. Aug 25, 2023
  4. Aug 24, 2023
  5. Aug 23, 2023
  6. Aug 22, 2023
  7. Aug 21, 2023
    • Suren Baghdasaryan's avatar
      mm: enable page walking API to lock vmas during the walk · 49b06385
      Suren Baghdasaryan authored
      walk_page_range() and friends often operate under write-locked mmap_lock. 
      With introduction of vma locks, the vmas have to be locked as well during
      such walks to prevent concurrent page faults in these areas.  Add an
      additional member to mm_walk_ops to indicate locking requirements for the
      walk.
      
      The change ensures that page walks which prevent concurrent page faults
      by write-locking mmap_lock, operate correctly after introduction of
      per-vma locks.  With per-vma locks page faults can be handled under vma
      lock without taking mmap_lock at all, so write locking mmap_lock would
      not stop them.  The change ensures vmas are properly locked during such
      walks.
      
      A sample issue this solves is do_mbind() performing queue_pages_range()
      to queue pages for migration.  Without this change a concurrent page
      can be faulted into the area and be left out of migration.
      
      Link: https://lkml.kernel.org/r/20230804152724.3090321-2-surenb@google.com
      
      
      Signed-off-by: default avatarSuren Baghdasaryan <surenb@google.com>
      Suggested-by: default avatarLinus Torvalds <torvalds@linuxfoundation.org>
      Suggested-by: default avatarJann Horn <jannh@google.com>
      Cc: David Hildenbrand <david@redhat.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Laurent Dufour <ldufour@linux.ibm.com>
      Cc: Liam Howlett <liam.howlett@oracle.com>
      Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Michel Lespinasse <michel@lespinasse.org>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      49b06385
    • Ard Biesheuvel's avatar
      efi/riscv: Move EFI runtime call setup/teardown helpers out of line · d8ea2ffd
      Ard Biesheuvel authored
      
      Only the arch_efi_call_virt() macro that some architectures override
      needs to be a macro, given that it is variadic and encapsulates calls
      via function pointers that have different prototypes.
      
      The associated setup and teardown code are not special in this regard,
      and don't need to be instantiated at each call site. So turn them into
      ordinary C functions and move them out of line.
      
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Palmer Dabbelt <palmer@dabbelt.com>
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      d8ea2ffd
    • Ard Biesheuvel's avatar
      efi/arm64: Move EFI runtime call setup/teardown helpers out of line · c37ce235
      Ard Biesheuvel authored
      
      Only the arch_efi_call_virt() macro that some architectures override
      needs to be a macro, given that it is variadic and encapsulates calls
      via function pointers that have different prototypes.
      
      The associated setup and teardown code are not special in this regard,
      and don't need to be instantiated at each call site. So turn them into
      ordinary C functions and move them out of line.
      
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
      c37ce235
  8. Aug 18, 2023
  9. Aug 17, 2023
Loading