.. | .. |
---|
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 |
---|
56 | 58 | obj-y += time/ |
---|
57 | | -obj-$(CONFIG_FUTEX) += futex.o |
---|
| 59 | +obj-$(CONFIG_FUTEX) += futex/ |
---|
58 | 60 | obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o |
---|
59 | 61 | obj-$(CONFIG_SMP) += smp.o |
---|
60 | 62 | ifneq ($(CONFIG_SMP),y) |
---|
.. | .. |
---|
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 | |
---|