| .. | .. | 
|---|
| 5 | 5 |   | 
|---|
| 6 | 6 |  obj-y     = fork.o exec_domain.o panic.o \ | 
|---|
| 7 | 7 |  	    cpu.o exit.o softirq.o resource.o \ | 
|---|
| 8 |  | -	    sysctl.o sysctl_binary.o capability.o ptrace.o user.o \  | 
|---|
 | 8 | +	    sysctl.o capability.o ptrace.o user.o \  | 
|---|
| 9 | 9 |  	    signal.o sys.o umh.o workqueue.o pid.o task_work.o \ | 
|---|
| 10 | 10 |  	    extable.o params.o \ | 
|---|
| 11 | 11 |  	    kthread.o sys_ni.o nsproxy.o \ | 
|---|
| 12 | 12 |  	    notifier.o ksysfs.o cred.o reboot.o \ | 
|---|
| 13 |  | -	    async.o range.o smpboot.o ucount.o  | 
|---|
 | 13 | +	    async.o range.o smpboot.o ucount.o regset.o  | 
|---|
| 14 | 14 |   | 
|---|
 | 15 | +obj-$(CONFIG_USERMODE_DRIVER) += usermode_driver.o  | 
|---|
| 15 | 16 |  obj-$(CONFIG_MODULES) += kmod.o | 
|---|
| 16 | 17 |  obj-$(CONFIG_MULTIUSER) += groups.o | 
|---|
| 17 | 18 |   | 
|---|
| .. | .. | 
|---|
| 23 | 24 |  # Prevents flicker of uninteresting __do_softirq()/__local_bh_disable_ip() | 
|---|
| 24 | 25 |  # in coverage traces. | 
|---|
| 25 | 26 |  KCOV_INSTRUMENT_softirq.o := n | 
|---|
 | 27 | +# Avoid KCSAN instrumentation in softirq ("No shared variables, all the data  | 
|---|
 | 28 | +# are CPU local" => assume no data races), to reduce overhead in interrupts.  | 
|---|
 | 29 | +KCSAN_SANITIZE_softirq.o = n  | 
|---|
| 26 | 30 |  # These are called from save_stack_trace() on slub debug path, | 
|---|
| 27 | 31 |  # and produce insane amounts of uninteresting coverage. | 
|---|
| 28 | 32 |  KCOV_INSTRUMENT_module.o := n | 
|---|
| 29 | 33 |  KCOV_INSTRUMENT_extable.o := n | 
|---|
 | 34 | +KCOV_INSTRUMENT_stacktrace.o := n  | 
|---|
| 30 | 35 |  # Don't self-instrument. | 
|---|
| 31 | 36 |  KCOV_INSTRUMENT_kcov.o := n | 
|---|
| 32 | 37 |  KASAN_SANITIZE_kcov.o := n | 
|---|
| 33 |  | -CFLAGS_kcov.o := $(call cc-option, -fno-conserve-stack -fno-stack-protector)  | 
|---|
| 34 |  | -  | 
|---|
| 35 |  | -ifndef CONFIG_CFI_CLANG  | 
|---|
| 36 |  | -# cond_syscall is currently not gcc LTO compatible  | 
|---|
| 37 |  | -CFLAGS_sys_ni.o = $(DISABLE_LTO)  | 
|---|
| 38 |  | -endif  | 
|---|
 | 38 | +KCSAN_SANITIZE_kcov.o := n  | 
|---|
 | 39 | +CFLAGS_kcov.o := $(call cc-option, -fno-conserve-stack) -fno-stack-protector  | 
|---|
| 39 | 40 |   | 
|---|
| 40 | 41 |  # Don't instrument error handlers | 
|---|
| 41 |  | -CFLAGS_cfi.o = $(DISABLE_CFI_CLANG)  | 
|---|
 | 42 | +CFLAGS_REMOVE_cfi.o := $(CC_FLAGS_CFI)  | 
|---|
| 42 | 43 |   | 
|---|
| 43 | 44 |  obj-y += sched/ | 
|---|
| 44 | 45 |  obj-y += locking/ | 
|---|
| .. | .. | 
|---|
| 48 | 49 |  obj-y += rcu/ | 
|---|
| 49 | 50 |  obj-y += livepatch/ | 
|---|
| 50 | 51 |  obj-y += dma/ | 
|---|
 | 52 | +obj-y += entry/  | 
|---|
| 51 | 53 |   | 
|---|
| 52 |  | -obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o  | 
|---|
 | 54 | +obj-$(CONFIG_KCMP) += kcmp.o  | 
|---|
| 53 | 55 |  obj-$(CONFIG_FREEZER) += freezer.o | 
|---|
| 54 | 56 |  obj-$(CONFIG_PROFILING) += profile.o | 
|---|
| 55 | 57 |  obj-$(CONFIG_STACKTRACE) += stacktrace.o | 
|---|
| .. | .. | 
|---|
| 63 | 65 |  obj-$(CONFIG_UID16) += uid16.o | 
|---|
| 64 | 66 |  obj-$(CONFIG_MODULES) += module.o | 
|---|
| 65 | 67 |  obj-$(CONFIG_MODULE_SIG) += module_signing.o | 
|---|
 | 68 | +obj-$(CONFIG_MODULE_SIG_FORMAT) += module_signature.o  | 
|---|
| 66 | 69 |  obj-$(CONFIG_KALLSYMS) += kallsyms.o | 
|---|
| 67 | 70 |  obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o | 
|---|
| 68 | 71 |  obj-$(CONFIG_CRASH_CORE) += crash_core.o | 
|---|
| 69 | 72 |  obj-$(CONFIG_KEXEC_CORE) += kexec_core.o | 
|---|
| 70 | 73 |  obj-$(CONFIG_KEXEC) += kexec.o | 
|---|
| 71 | 74 |  obj-$(CONFIG_KEXEC_FILE) += kexec_file.o | 
|---|
 | 75 | +obj-$(CONFIG_KEXEC_ELF) += kexec_elf.o  | 
|---|
| 72 | 76 |  obj-$(CONFIG_BACKTRACE_SELF_TEST) += backtracetest.o | 
|---|
| 73 | 77 |  obj-$(CONFIG_COMPAT) += compat.o | 
|---|
| 74 | 78 |  obj-$(CONFIG_CGROUPS) += cgroup/ | 
|---|
| .. | .. | 
|---|
| 80 | 84 |  obj-$(CONFIG_SMP) += stop_machine.o | 
|---|
| 81 | 85 |  obj-$(CONFIG_KPROBES_SANITY_TEST) += test_kprobes.o | 
|---|
| 82 | 86 |  obj-$(CONFIG_AUDIT) += audit.o auditfilter.o | 
|---|
| 83 |  | -obj-$(CONFIG_AUDITSYSCALL) += auditsc.o  | 
|---|
| 84 |  | -obj-$(CONFIG_AUDIT_WATCH) += audit_watch.o audit_fsnotify.o  | 
|---|
| 85 |  | -obj-$(CONFIG_AUDIT_TREE) += audit_tree.o  | 
|---|
 | 87 | +obj-$(CONFIG_AUDITSYSCALL) += auditsc.o audit_watch.o audit_fsnotify.o audit_tree.o  | 
|---|
| 86 | 88 |  obj-$(CONFIG_GCOV_KERNEL) += gcov/ | 
|---|
| 87 | 89 |  obj-$(CONFIG_KCOV) += kcov.o | 
|---|
| 88 | 90 |  obj-$(CONFIG_KPROBES) += kprobes.o | 
|---|
| .. | .. | 
|---|
| 106 | 108 |  obj-$(CONFIG_IRQ_WORK) += irq_work.o | 
|---|
| 107 | 109 |  obj-$(CONFIG_CPU_PM) += cpu_pm.o | 
|---|
| 108 | 110 |  obj-$(CONFIG_BPF) += bpf/ | 
|---|
| 109 |  | -obj-$(CONFIG_CFI_CLANG) += cfi.o  | 
|---|
 | 111 | +obj-$(CONFIG_KCSAN) += kcsan/  | 
|---|
| 110 | 112 |  obj-$(CONFIG_SHADOW_CALL_STACK) += scs.o | 
|---|
 | 113 | +obj-$(CONFIG_HAVE_STATIC_CALL_INLINE) += static_call.o  | 
|---|
 | 114 | +obj-$(CONFIG_CFI_CLANG) += cfi.o  | 
|---|
| 111 | 115 |   | 
|---|
| 112 | 116 |  obj-$(CONFIG_PERF_EVENTS) += events/ | 
|---|
| 113 | 117 |   | 
|---|
| .. | .. | 
|---|
| 119 | 123 |  obj-$(CONFIG_TORTURE_TEST) += torture.o | 
|---|
| 120 | 124 |   | 
|---|
| 121 | 125 |  obj-$(CONFIG_HAS_IOMEM) += iomem.o | 
|---|
| 122 |  | -obj-$(CONFIG_ZONE_DEVICE) += memremap.o  | 
|---|
| 123 | 126 |  obj-$(CONFIG_RSEQ) += rseq.o | 
|---|
 | 127 | +obj-$(CONFIG_WATCH_QUEUE) += watch_queue.o  | 
|---|
| 124 | 128 |   | 
|---|
| 125 |  | -$(obj)/configs.o: $(obj)/config_data.h  | 
|---|
 | 129 | +obj-$(CONFIG_SYSCTL_KUNIT_TEST) += sysctl-test.o  | 
|---|
| 126 | 130 |   | 
|---|
| 127 |  | -targets += config_data.gz  | 
|---|
| 128 |  | -$(obj)/config_data.gz: $(KCONFIG_CONFIG) FORCE  | 
|---|
 | 131 | +CFLAGS_stackleak.o += $(DISABLE_STACKLEAK_PLUGIN)  | 
|---|
 | 132 | +obj-$(CONFIG_GCC_PLUGIN_STACKLEAK) += stackleak.o  | 
|---|
 | 133 | +KASAN_SANITIZE_stackleak.o := n  | 
|---|
 | 134 | +KCSAN_SANITIZE_stackleak.o := n  | 
|---|
 | 135 | +KCOV_INSTRUMENT_stackleak.o := n  | 
|---|
 | 136 | +  | 
|---|
 | 137 | +obj-$(CONFIG_SCF_TORTURE_TEST) += scftorture.o  | 
|---|
 | 138 | +  | 
|---|
 | 139 | +$(obj)/configs.o: $(obj)/config_data.gz  | 
|---|
 | 140 | +  | 
|---|
 | 141 | +targets += config_data config_data.gz  | 
|---|
 | 142 | +$(obj)/config_data.gz: $(obj)/config_data FORCE  | 
|---|
| 129 | 143 |  	$(call if_changed,gzip) | 
|---|
| 130 | 144 |   | 
|---|
| 131 |  | -      filechk_ikconfiggz = (echo "static const char kernel_config_data[] __used = MAGIC_START"; cat $< | scripts/bin2c; echo "MAGIC_END;")  | 
|---|
| 132 |  | -targets += config_data.h  | 
|---|
| 133 |  | -$(obj)/config_data.h: $(obj)/config_data.gz FORCE  | 
|---|
| 134 |  | -	$(call filechk,ikconfiggz)  | 
|---|
 | 145 | +filechk_cat = cat $<  | 
|---|
 | 146 | +  | 
|---|
 | 147 | +$(obj)/config_data: $(KCONFIG_CONFIG) FORCE  | 
|---|
 | 148 | +	$(call filechk,cat)  | 
|---|
| 135 | 149 |   | 
|---|
| 136 | 150 |  $(obj)/kheaders.o: $(obj)/kheaders_data.tar.xz | 
|---|
| 137 | 151 |   | 
|---|
| 138 | 152 |  quiet_cmd_genikh = CHK     $(obj)/kheaders_data.tar.xz | 
|---|
| 139 |  | -cmd_genikh = $(CONFIG_SHELL) $(srctree)/kernel/gen_kheaders.sh $@  | 
|---|
 | 153 | +      cmd_genikh = $(CONFIG_SHELL) $(srctree)/kernel/gen_kheaders.sh $@  | 
|---|
| 140 | 154 |  $(obj)/kheaders_data.tar.xz: FORCE | 
|---|
| 141 | 155 |  	$(call cmd,genikh) | 
|---|
| 142 | 156 |   | 
|---|