# git rev-parse -q --verify 27bc50fc90647bbf7b734c3fc306a5e61350da53^{commit} 27bc50fc90647bbf7b734c3fc306a5e61350da53 already have revision, skipping fetch # git checkout -q -f -B kisskb 27bc50fc90647bbf7b734c3fc306a5e61350da53 # git clean -qxdf # < git log -1 # commit 27bc50fc90647bbf7b734c3fc306a5e61350da53 # Merge: 70442fc54e68 bbff39cc6cbc # Author: Linus Torvalds # Date: Mon Oct 10 17:53:04 2022 -0700 # # Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm # # Pull MM updates from Andrew Morton: # # - Yu Zhao's Multi-Gen LRU patches are here. They've been under test in # linux-next for a couple of months without, to my knowledge, any # negative reports (or any positive ones, come to that). # # - Also the Maple Tree from Liam Howlett. An overlapping range-based # tree for vmas. It it apparently slightly more efficient in its own # right, but is mainly targeted at enabling work to reduce mmap_lock # contention. # # Liam has identified a number of other tree users in the kernel which # could be beneficially onverted to mapletrees. # # Yu Zhao has identified a hard-to-hit but "easy to fix" lockdep splat # at [1]. This has yet to be addressed due to Liam's unfortunately # timed vacation. He is now back and we'll get this fixed up. # # - Dmitry Vyukov introduces KMSAN: the Kernel Memory Sanitizer. It uses # clang-generated instrumentation to detect used-unintialized bugs down # to the single bit level. # # KMSAN keeps finding bugs. New ones, as well as the legacy ones. # # - Yang Shi adds a userspace mechanism (madvise) to induce a collapse of # memory into THPs. # # - Zach O'Keefe has expanded Yang Shi's madvise(MADV_COLLAPSE) to # support file/shmem-backed pages. # # - userfaultfd updates from Axel Rasmussen # # - zsmalloc cleanups from Alexey Romanov # # - cleanups from Miaohe Lin: vmscan, hugetlb_cgroup, hugetlb and # memory-failure # # - Huang Ying adds enhancements to NUMA balancing memory tiering mode's # page promotion, with a new way of detecting hot pages. # # - memcg updates from Shakeel Butt: charging optimizations and reduced # memory consumption. # # - memcg cleanups from Kairui Song. # # - memcg fixes and cleanups from Johannes Weiner. # # - Vishal Moola provides more folio conversions # # - Zhang Yi removed ll_rw_block() :( # # - migration enhancements from Peter Xu # # - migration error-path bugfixes from Huang Ying # # - Aneesh Kumar added ability for a device driver to alter the memory # tiering promotion paths. For optimizations by PMEM drivers, DRM # drivers, etc. # # - vma merging improvements from Jakub Matěn. # # - NUMA hinting cleanups from David Hildenbrand. # # - xu xin added aditional userspace visibility into KSM merging # activity. # # - THP & KSM code consolidation from Qi Zheng. # # - more folio work from Matthew Wilcox. # # - KASAN updates from Andrey Konovalov. # # - DAMON cleanups from Kaixu Xia. # # - DAMON work from SeongJae Park: fixes, cleanups. # # - hugetlb sysfs cleanups from Muchun Song. # # - Mike Kravetz fixes locking issues in hugetlbfs and in hugetlb core. # # Link: https://lkml.kernel.org/r/CAOUHufZabH85CeUN-MEMgL8gJGzJEWUrkiM58JkTbBhh-jew0Q@mail.gmail.com [1] # # * tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (555 commits) # hugetlb: allocate vma lock for all sharable vmas # hugetlb: take hugetlb vma_lock when clearing vma_lock->vma pointer # hugetlb: fix vma lock handling during split vma and range unmapping # mglru: mm/vmscan.c: fix imprecise comments # mm/mglru: don't sync disk for each aging cycle # mm: memcontrol: drop dead CONFIG_MEMCG_SWAP config symbol # mm: memcontrol: use do_memsw_account() in a few more places # mm: memcontrol: deprecate swapaccounting=0 mode # mm: memcontrol: don't allocate cgroup swap arrays when memcg is disabled # mm/secretmem: remove reduntant return value # mm/hugetlb: add available_huge_pages() func # mm: remove unused inline functions from include/linux/mm_inline.h # selftests/vm: add selftest for MADV_COLLAPSE of uffd-minor memory # selftests/vm: add file/shmem MADV_COLLAPSE selftest for cleared pmd # selftests/vm: add thp collapse shmem testing # selftests/vm: add thp collapse file and tmpfs testing # selftests/vm: modularize thp collapse memory operations # selftests/vm: dedup THP helpers # mm/khugepaged: add tracepoint to hpage_collapse_scan_file() # mm/madvise: add file and shmem support to MADV_COLLAPSE # ... # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 27bc50fc90647bbf7b734c3fc306a5e61350da53 # < make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_BPF_PRELOAD=n # Added to kconfig # < make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig .config:7024:warning: override: reassigning to symbol STANDALONE .config:7027:warning: override: reassigning to symbol GCC_PLUGINS # make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- /kisskb/src/mm/kasan/kasan_test.c: In function 'krealloc_less_oob_helper.constprop': /kisskb/src/mm/kasan/kasan_test.c:335:59: error: array subscript 201 is outside array bounds of 'char[201]' [-Werror=array-bounds] 335 | KUNIT_EXPECT_KASAN_FAIL(test, ptr2[size2] = 'x'); | ~~~~~~~~~~~~^~~~~ /kisskb/src/mm/kasan/kasan_test.c:97:9: note: in definition of macro 'KUNIT_EXPECT_KASAN_FAIL' 97 | expression; \ | ^~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:327:16: note: referencing an object of size 201 allocated by 'krealloc' 327 | ptr2 = krealloc(ptr1, size2, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:339:59: error: array subscript 208 is outside array bounds of 'char[201]' [-Werror=array-bounds] 339 | ptr2[round_up(size2, KASAN_GRANULE_SIZE)] = 'x'); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /kisskb/src/mm/kasan/kasan_test.c:97:9: note: in definition of macro 'KUNIT_EXPECT_KASAN_FAIL' 97 | expression; \ | ^~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:327:16: note: referencing an object of size 201 allocated by 'krealloc' 327 | ptr2 = krealloc(ptr1, size2, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:349:52: error: array subscript 218 is outside array bounds of 'char[201]' [-Werror=array-bounds] 349 | KUNIT_EXPECT_KASAN_FAIL(test, ptr2[middle] = 'x'); | ~~~~~~~~~~~~~^~~~~ /kisskb/src/mm/kasan/kasan_test.c:97:9: note: in definition of macro 'KUNIT_EXPECT_KASAN_FAIL' 97 | expression; \ | ^~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:327:16: note: referencing an object of size 201 allocated by 'krealloc' 327 | ptr2 = krealloc(ptr1, size2, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:350:55: error: array subscript 234 is outside array bounds of 'char[201]' [-Werror=array-bounds] 350 | KUNIT_EXPECT_KASAN_FAIL(test, ptr2[size1 - 1] = 'x'); | ~~~~~~~~~~~~~~~~^~~~~ /kisskb/src/mm/kasan/kasan_test.c:97:9: note: in definition of macro 'KUNIT_EXPECT_KASAN_FAIL' 97 | expression; \ | ^~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:327:16: note: referencing an object of size 201 allocated by 'krealloc' 327 | ptr2 = krealloc(ptr1, size2, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:351:51: error: array subscript 235 is outside array bounds of 'char[201]' [-Werror=array-bounds] 351 | KUNIT_EXPECT_KASAN_FAIL(test, ptr2[size1] = 'x'); | ~~~~~~~~~~~~^~~~~ /kisskb/src/mm/kasan/kasan_test.c:97:9: note: in definition of macro 'KUNIT_EXPECT_KASAN_FAIL' 97 | expression; \ | ^~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:327:16: note: referencing an object of size 201 allocated by 'krealloc' 327 | ptr2 = krealloc(ptr1, size2, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c: In function 'krealloc_more_oob_helper.constprop': /kisskb/src/mm/kasan/kasan_test.c:306:59: error: array subscript 235 is outside array bounds of 'char[235]' [-Werror=array-bounds] 306 | KUNIT_EXPECT_KASAN_FAIL(test, ptr2[size2] = 'x'); | ~~~~~~~~~~~~^~~~~ /kisskb/src/mm/kasan/kasan_test.c:97:9: note: in definition of macro 'KUNIT_EXPECT_KASAN_FAIL' 97 | expression; \ | ^~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:295:16: note: referencing an object of size 235 allocated by 'krealloc' 295 | ptr2 = krealloc(ptr1, size2, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:310:59: error: array subscript 240 is outside array bounds of 'char[235]' [-Werror=array-bounds] 310 | ptr2[round_up(size2, KASAN_GRANULE_SIZE)] = 'x'); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /kisskb/src/mm/kasan/kasan_test.c:97:9: note: in definition of macro 'KUNIT_EXPECT_KASAN_FAIL' 97 | expression; \ | ^~~~~~~~~~ /kisskb/src/mm/kasan/kasan_test.c:295:16: note: referencing an object of size 235 allocated by 'krealloc' 295 | ptr2 = krealloc(ptr1, size2, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:250: mm/kasan/kasan_test.o] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.build:500: mm/kasan] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:500: mm] Error 2 make[2]: *** Waiting for unfinished jobs.... /kisskb/src/fs/coredump.c:834:12: error: 'dump_emit_page' defined but not used [-Werror=unused-function] 834 | static int dump_emit_page(struct coredump_params *cprm, struct page *page) | ^~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:250: fs/coredump.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:500: fs] Error 2 /kisskb/src/drivers/infiniband/core/user_mad.c: In function 'ib_umad_write': /kisskb/src/drivers/infiniband/core/user_mad.c:564:50: error: array subscript 'struct ib_rmpp_mad[0]' is partly outside array bounds of 'unsigned char[140]' [-Werror=array-bounds] 564 | hdr_len = ib_get_mad_data_offset(rmpp_mad->mad_hdr.mgmt_class); | ^~ /kisskb/src/drivers/infiniband/core/user_mad.c:509:18: note: referencing an object of size 140 allocated by 'kzalloc.constprop' 509 | packet = kzalloc(sizeof *packet + IB_MGMT_RMPP_HDR, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/include/linux/build_bug.h:5, from /kisskb/src/include/linux/container_of.h:5, from /kisskb/src/include/linux/list.h:5, from /kisskb/src/include/linux/module.h:12, from /kisskb/src/drivers/infiniband/core/user_mad.c:38: /kisskb/src/drivers/infiniband/core/user_mad.c:566:42: error: array subscript 'struct ib_rmpp_mad[0]' is partly outside array bounds of 'unsigned char[140]' [-Werror=array-bounds] 566 | if (ib_is_mad_class_rmpp(rmpp_mad->mad_hdr.mgmt_class) | ^~ /kisskb/src/include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value' 69 | (cond) ? \ | ^~~~ /kisskb/src/include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var' 56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) | ^~~~~~~~~~~~~~ /kisskb/src/drivers/infiniband/core/user_mad.c:566:9: note: in expansion of macro 'if' 566 | if (ib_is_mad_class_rmpp(rmpp_mad->mad_hdr.mgmt_class) | ^~ /kisskb/src/drivers/infiniband/core/user_mad.c:509:18: note: referencing an object of size 140 allocated by 'kzalloc.constprop' 509 | packet = kzalloc(sizeof *packet + IB_MGMT_RMPP_HDR, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/infiniband/core/user_mad.c:618:25: error: array subscript 'struct ib_rmpp_mad[0]' is partly outside array bounds of 'unsigned char[140]' [-Werror=array-bounds] 618 | rmpp_mad->mad_hdr.tid = *tid; | ^~ /kisskb/src/drivers/infiniband/core/user_mad.c:509:18: note: referencing an object of size 140 allocated by 'kzalloc.constprop' 509 | packet = kzalloc(sizeof *packet + IB_MGMT_RMPP_HDR, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/include/linux/build_bug.h:5, from /kisskb/src/include/linux/container_of.h:5, from /kisskb/src/include/linux/list.h:5, from /kisskb/src/include/linux/module.h:12, from /kisskb/src/drivers/infiniband/core/user_mad.c:38: /kisskb/src/drivers/infiniband/core/user_mad.c:622:44: error: array subscript 'struct ib_rmpp_mad[0]' is partly outside array bounds of 'unsigned char[140]' [-Werror=array-bounds] 622 | && ib_is_mad_class_rmpp(rmpp_mad->mad_hdr.mgmt_class) | ^~ /kisskb/src/include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value' 69 | (cond) ? \ | ^~~~ /kisskb/src/include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var' 56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) | ^~~~~~~~~~~~~~ /kisskb/src/drivers/infiniband/core/user_mad.c:621:9: note: in expansion of macro 'if' 621 | if (!ib_mad_kernel_rmpp_agent(agent) | ^~ /kisskb/src/drivers/infiniband/core/user_mad.c:509:18: note: referencing an object of size 140 allocated by 'kzalloc.constprop' 509 | packet = kzalloc(sizeof *packet + IB_MGMT_RMPP_HDR, GFP_KERNEL); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:250: drivers/infiniband/core/user_mad.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:500: drivers/infiniband/core] Error 2 make[3]: *** [/kisskb/src/scripts/Makefile.build:500: drivers/infiniband] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.build:500: drivers] Error 2 make[1]: *** [/kisskb/src/Makefile:1990: .] Error 2 make: *** [Makefile:231: __sub-make] Error 2 Command 'make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-11.1.0-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc11 # Build took: 0:07:22.249446