Merge branch 'akpm' (patches from Andrew)
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Mar 2022 17:21:20 +0000 (10:21 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 25 Mar 2022 17:21:20 +0000 (10:21 -0700)
Merge yet more updates from Andrew Morton:
 "This is the material which was staged after willystuff in linux-next.

  Subsystems affected by this patch series: mm (debug, selftests,
  pagecache, thp, rmap, migration, kasan, hugetlb, pagemap, madvise),
  and selftests"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (113 commits)
  selftests: kselftest framework: provide "finished" helper
  mm: madvise: MADV_DONTNEED_LOCKED
  mm: fix race between MADV_FREE reclaim and blkdev direct IO read
  mm: generalize ARCH_HAS_FILTER_PGPROT
  mm: unmap_mapping_range_tree() with i_mmap_rwsem shared
  mm: warn on deleting redirtied only if accounted
  mm/huge_memory: remove stale locking logic from __split_huge_pmd()
  mm/huge_memory: remove stale page_trans_huge_mapcount()
  mm/swapfile: remove stale reuse_swap_page()
  mm/khugepaged: remove reuse_swap_page() usage
  mm/huge_memory: streamline COW logic in do_huge_pmd_wp_page()
  mm: streamline COW logic in do_swap_page()
  mm: slightly clarify KSM logic in do_swap_page()
  mm: optimize do_wp_page() for fresh pages in local LRU pagevecs
  mm: optimize do_wp_page() for exclusive pages in the swapcache
  mm/huge_memory: make is_transparent_hugepage() static
  userfaultfd/selftests: enable hugetlb remap and remove event testing
  selftests/vm: add hugetlb madvise MADV_DONTNEED MADV_REMOVE test
  mm: enable MADV_DONTNEED for hugetlb mappings
  kasan: disable LOCKDEP when printing reports
  ...

1  2 
arch/s390/kernel/module.c

@@@ -45,7 -45,7 +45,7 @@@ void *module_alloc(unsigned long size
        p = __vmalloc_node_range(size, MODULE_ALIGN, MODULES_VADDR, MODULES_END,
                                 gfp_mask, PAGE_KERNEL_EXEC, VM_DEFER_KMEMLEAK, NUMA_NO_NODE,
                                 __builtin_return_address(0));
-       if (p && (kasan_module_alloc(p, size, gfp_mask) < 0)) {
+       if (p && (kasan_alloc_module_shadow(p, size, gfp_mask) < 0)) {
                vfree(p);
                return NULL;
        }
@@@ -517,9 -517,15 +517,9 @@@ int module_finalize(const Elf_Ehdr *hdr
  
                ij = me->core_layout.base + me->arch.plt_offset +
                        me->arch.plt_size - PLT_ENTRY_SIZE;
 -              if (test_facility(35)) {
 -                      ij[0] = 0xc6000000;     /* exrl %r0,.+10        */
 -                      ij[1] = 0x0005a7f4;     /* j    .               */
 -                      ij[2] = 0x000007f1;     /* br   %r1             */
 -              } else {
 -                      ij[0] = 0x44000000 | (unsigned int)
 -                              offsetof(struct lowcore, br_r1_trampoline);
 -                      ij[1] = 0xa7f40000;     /* j    .               */
 -              }
 +              ij[0] = 0xc6000000;     /* exrl %r0,.+10        */
 +              ij[1] = 0x0005a7f4;     /* j    .               */
 +              ij[2] = 0x000007f1;     /* br   %r1             */
        }
  
        secstrings = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;