| .. | .. |
|---|
| 6 | 6 | KASAN_SANITIZE_slab_common.o := n |
|---|
| 7 | 7 | KASAN_SANITIZE_slab.o := n |
|---|
| 8 | 8 | KASAN_SANITIZE_slub.o := n |
|---|
| 9 | +KCSAN_SANITIZE_kmemleak.o := n |
|---|
| 10 | + |
|---|
| 11 | +# These produce frequent data race reports: most of them are due to races on |
|---|
| 12 | +# the same word but accesses to different bits of that word. Re-enable KCSAN |
|---|
| 13 | +# for these when we have more consensus on what to do about them. |
|---|
| 14 | +KCSAN_SANITIZE_slab_common.o := n |
|---|
| 15 | +KCSAN_SANITIZE_slab.o := n |
|---|
| 16 | +KCSAN_SANITIZE_slub.o := n |
|---|
| 17 | +KCSAN_SANITIZE_page_alloc.o := n |
|---|
| 9 | 18 | |
|---|
| 10 | 19 | # These files are disabled because they produce non-interesting and/or |
|---|
| 11 | 20 | # flaky coverage that is not a function of syscall inputs. E.g. slab is out of |
|---|
| .. | .. |
|---|
| 20 | 29 | KCOV_INSTRUMENT_memcontrol.o := n |
|---|
| 21 | 30 | KCOV_INSTRUMENT_mmzone.o := n |
|---|
| 22 | 31 | KCOV_INSTRUMENT_vmstat.o := n |
|---|
| 32 | +KCOV_INSTRUMENT_failslab.o := n |
|---|
| 33 | + |
|---|
| 34 | +CFLAGS_init-mm.o += $(call cc-disable-warning, override-init) |
|---|
| 35 | +CFLAGS_init-mm.o += $(call cc-disable-warning, initializer-overrides) |
|---|
| 23 | 36 | |
|---|
| 24 | 37 | mmu-y := nommu.o |
|---|
| 25 | | -mmu-$(CONFIG_MMU) := gup.o highmem.o memory.o mincore.o \ |
|---|
| 26 | | - mlock.o mmap.o mprotect.o mremap.o msync.o \ |
|---|
| 27 | | - page_vma_mapped.o pagewalk.o pgtable-generic.o \ |
|---|
| 28 | | - rmap.o vmalloc.o |
|---|
| 38 | +mmu-$(CONFIG_MMU) := highmem.o memory.o mincore.o \ |
|---|
| 39 | + mlock.o mmap.o mmu_gather.o mprotect.o mremap.o \ |
|---|
| 40 | + msync.o page_vma_mapped.o pagewalk.o \ |
|---|
| 41 | + pgtable-generic.o rmap.o vmalloc.o ioremap.o |
|---|
| 29 | 42 | |
|---|
| 30 | 43 | |
|---|
| 31 | | -ifdef CONFIG_MM_EVENT_STAT |
|---|
| 32 | | -mmu-$(CONFIG_MMU) += mm_event.o |
|---|
| 33 | | -endif |
|---|
| 34 | 44 | ifdef CONFIG_CROSS_MEMORY_ATTACH |
|---|
| 35 | 45 | mmu-$(CONFIG_MMU) += process_vm_access.o |
|---|
| 36 | 46 | endif |
|---|
| 37 | 47 | |
|---|
| 38 | 48 | obj-y := filemap.o mempool.o oom_kill.o fadvise.o \ |
|---|
| 39 | | - maccess.o page_alloc.o page-writeback.o \ |
|---|
| 49 | + maccess.o page-writeback.o \ |
|---|
| 40 | 50 | readahead.o swap.o truncate.o vmscan.o shmem.o \ |
|---|
| 41 | 51 | util.o mmzone.o vmstat.o backing-dev.o \ |
|---|
| 42 | | - mm_init.o mmu_context.o percpu.o slab_common.o \ |
|---|
| 52 | + mm_init.o percpu.o slab_common.o \ |
|---|
| 43 | 53 | compaction.o vmacache.o \ |
|---|
| 44 | 54 | interval_tree.o list_lru.o workingset.o \ |
|---|
| 45 | | - debug.o $(mmu-y) |
|---|
| 55 | + debug.o gup.o $(mmu-y) |
|---|
| 46 | 56 | |
|---|
| 57 | +# Give 'page_alloc' its own module-parameter namespace |
|---|
| 58 | +page-alloc-y := page_alloc.o |
|---|
| 59 | +page-alloc-$(CONFIG_SHUFFLE_PAGE_ALLOCATOR) += shuffle.o |
|---|
| 60 | +CFLAGS_page_alloc.o += -DDYNAMIC_DEBUG_MODULE |
|---|
| 61 | + |
|---|
| 62 | +obj-y += page-alloc.o |
|---|
| 47 | 63 | obj-y += init-mm.o |
|---|
| 48 | | - |
|---|
| 49 | | -ifdef CONFIG_NO_BOOTMEM |
|---|
| 50 | | - obj-y += nobootmem.o |
|---|
| 51 | | -else |
|---|
| 52 | | - obj-y += bootmem.o |
|---|
| 53 | | -endif |
|---|
| 64 | +obj-y += memblock.o |
|---|
| 54 | 65 | |
|---|
| 55 | 66 | ifdef CONFIG_MMU |
|---|
| 56 | 67 | obj-$(CONFIG_ADVISE_SYSCALLS) += madvise.o |
|---|
| 57 | 68 | endif |
|---|
| 58 | | -obj-$(CONFIG_HAVE_MEMBLOCK) += memblock.o |
|---|
| 59 | 69 | |
|---|
| 60 | 70 | obj-$(CONFIG_SWAP) += page_io.o swap_state.o swapfile.o swap_slots.o |
|---|
| 61 | 71 | obj-$(CONFIG_FRONTSWAP) += frontswap.o |
|---|
| .. | .. |
|---|
| 72 | 82 | obj-$(CONFIG_SLAB) += slab.o |
|---|
| 73 | 83 | obj-$(CONFIG_SLUB) += slub.o |
|---|
| 74 | 84 | obj-$(CONFIG_KASAN) += kasan/ |
|---|
| 85 | +obj-$(CONFIG_KFENCE) += kfence/ |
|---|
| 75 | 86 | obj-$(CONFIG_FAILSLAB) += failslab.o |
|---|
| 76 | 87 | obj-$(CONFIG_MEMORY_HOTPLUG) += memory_hotplug.o |
|---|
| 77 | 88 | obj-$(CONFIG_MEMTEST) += memtest.o |
|---|
| 78 | 89 | obj-$(CONFIG_MIGRATION) += migrate.o |
|---|
| 79 | | -obj-$(CONFIG_QUICKLIST) += quicklist.o |
|---|
| 80 | 90 | obj-$(CONFIG_TRANSPARENT_HUGEPAGE) += huge_memory.o khugepaged.o |
|---|
| 81 | 91 | obj-$(CONFIG_PAGE_COUNTER) += page_counter.o |
|---|
| 82 | 92 | obj-$(CONFIG_MEMCG) += memcontrol.o vmpressure.o |
|---|
| .. | .. |
|---|
| 86 | 96 | obj-$(CONFIG_MEMORY_FAILURE) += memory-failure.o |
|---|
| 87 | 97 | obj-$(CONFIG_HWPOISON_INJECT) += hwpoison-inject.o |
|---|
| 88 | 98 | obj-$(CONFIG_DEBUG_KMEMLEAK) += kmemleak.o |
|---|
| 89 | | -obj-$(CONFIG_DEBUG_KMEMLEAK_TEST) += kmemleak-test.o |
|---|
| 90 | 99 | obj-$(CONFIG_DEBUG_RODATA_TEST) += rodata_test.o |
|---|
| 100 | +obj-$(CONFIG_DEBUG_VM_PGTABLE) += debug_vm_pgtable.o |
|---|
| 91 | 101 | obj-$(CONFIG_PAGE_OWNER) += page_owner.o |
|---|
| 102 | +obj-$(CONFIG_PAGE_PINNER) += page_pinner.o |
|---|
| 92 | 103 | obj-$(CONFIG_CLEANCACHE) += cleancache.o |
|---|
| 93 | 104 | obj-$(CONFIG_MEMORY_ISOLATION) += page_isolation.o |
|---|
| 94 | 105 | obj-$(CONFIG_ZPOOL) += zpool.o |
|---|
| .. | .. |
|---|
| 100 | 111 | obj-$(CONFIG_MEMORY_BALLOON) += balloon_compaction.o |
|---|
| 101 | 112 | obj-$(CONFIG_PAGE_EXTENSION) += page_ext.o |
|---|
| 102 | 113 | obj-$(CONFIG_CMA_DEBUGFS) += cma_debug.o |
|---|
| 114 | +obj-$(CONFIG_CMA_DEBUGFS_BITMAP_HEX) += cma_debug_bitmap_hex.o |
|---|
| 115 | +obj-$(CONFIG_CMA_SYSFS) += cma_sysfs.o |
|---|
| 103 | 116 | obj-$(CONFIG_USERFAULTFD) += userfaultfd.o |
|---|
| 104 | 117 | obj-$(CONFIG_IDLE_PAGE_TRACKING) += page_idle.o |
|---|
| 105 | 118 | obj-$(CONFIG_FRAME_VECTOR) += frame_vector.o |
|---|
| 106 | 119 | obj-$(CONFIG_DEBUG_PAGE_REF) += debug_page_ref.o |
|---|
| 120 | +obj-$(CONFIG_DAMON) += damon/ |
|---|
| 107 | 121 | obj-$(CONFIG_HARDENED_USERCOPY) += usercopy.o |
|---|
| 108 | 122 | obj-$(CONFIG_PERCPU_STATS) += percpu-stats.o |
|---|
| 109 | | -obj-$(CONFIG_HMM) += hmm.o |
|---|
| 123 | +obj-$(CONFIG_ZONE_DEVICE) += memremap.o |
|---|
| 124 | +obj-$(CONFIG_HMM_MIRROR) += hmm.o |
|---|
| 110 | 125 | obj-$(CONFIG_MEMFD_CREATE) += memfd.o |
|---|
| 126 | +obj-$(CONFIG_MAPPING_DIRTY_HELPERS) += mapping_dirty_helpers.o |
|---|
| 127 | +obj-$(CONFIG_PTDUMP_CORE) += ptdump.o |
|---|
| 128 | +obj-$(CONFIG_PAGE_REPORTING) += page_reporting.o |
|---|