# git rev-parse -q --verify 958f338e96f874a0d29442396d6adf9c1e17aa2d^{commit} 958f338e96f874a0d29442396d6adf9c1e17aa2d already have revision, skipping fetch # git checkout -q -f -B kisskb 958f338e96f874a0d29442396d6adf9c1e17aa2d # git clean -qxdf # < git log -1 # commit 958f338e96f874a0d29442396d6adf9c1e17aa2d # Merge: 781fca5 07d981a # Author: Linus Torvalds # Date: Tue Aug 14 09:46:06 2018 -0700 # # Merge branch 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip # # Merge L1 Terminal Fault fixes from Thomas Gleixner: # "L1TF, aka L1 Terminal Fault, is yet another speculative hardware # engineering trainwreck. It's a hardware vulnerability which allows # unprivileged speculative access to data which is available in the # Level 1 Data Cache when the page table entry controlling the virtual # address, which is used for the access, has the Present bit cleared or # other reserved bits set. # # If an instruction accesses a virtual address for which the relevant # page table entry (PTE) has the Present bit cleared or other reserved # bits set, then speculative execution ignores the invalid PTE and loads # the referenced data if it is present in the Level 1 Data Cache, as if # the page referenced by the address bits in the PTE was still present # and accessible. # # While this is a purely speculative mechanism and the instruction will # raise a page fault when it is retired eventually, the pure act of # loading the data and making it available to other speculative # instructions opens up the opportunity for side channel attacks to # unprivileged malicious code, similar to the Meltdown attack. # # While Meltdown breaks the user space to kernel space protection, L1TF # allows to attack any physical memory address in the system and the # attack works across all protection domains. It allows an attack of SGX # and also works from inside virtual machines because the speculation # bypasses the extended page table (EPT) protection mechanism. # # The assoicated CVEs are: CVE-2018-3615, CVE-2018-3620, CVE-2018-3646 # # The mitigations provided by this pull request include: # # - Host side protection by inverting the upper address bits of a non # present page table entry so the entry points to uncacheable memory. # # - Hypervisor protection by flushing L1 Data Cache on VMENTER. # # - SMT (HyperThreading) control knobs, which allow to 'turn off' SMT # by offlining the sibling CPU threads. The knobs are available on # the kernel command line and at runtime via sysfs # # - Control knobs for the hypervisor mitigation, related to L1D flush # and SMT control. The knobs are available on the kernel command line # and at runtime via sysfs # # - Extensive documentation about L1TF including various degrees of # mitigations. # # Thanks to all people who have contributed to this in various ways - # patches, review, testing, backporting - and the fruitful, sometimes # heated, but at the end constructive discussions. # # There is work in progress to provide other forms of mitigations, which # might be less horrible performance wise for a particular kind of # workloads, but this is not yet ready for consumption due to their # complexity and limitations" # # * 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits) # x86/microcode: Allow late microcode loading with SMT disabled # tools headers: Synchronise x86 cpufeatures.h for L1TF additions # x86/mm/kmmio: Make the tracer robust against L1TF # x86/mm/pat: Make set_memory_np() L1TF safe # x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert # x86/speculation/l1tf: Invert all not present mappings # cpu/hotplug: Fix SMT supported evaluation # KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry # x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry # x86/speculation: Simplify sysfs report of VMX L1TF vulnerability # Documentation/l1tf: Remove Yonah processors from not vulnerable list # x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() # x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d # x86: Don't include linux/irq.h from asm/hardirq.h # x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d # x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 # x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() # x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' # x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() # cpu/hotplug: detect SMT disabled by BIOS # ... # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa-linux/bin/hppa-linux-gcc --version # < git log --format=%s --max-count=1 958f338e96f874a0d29442396d6adf9c1e17aa2d # < make -s -j 48 ARCH=parisc O=/kisskb/build/linus_parisc-defconfig_parisc CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa-linux/bin/hppa-linux- defconfig # make -s -j 48 ARCH=parisc O=/kisskb/build/linus_parisc-defconfig_parisc CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa-linux/bin/hppa-linux- :1335:2: warning: #warning syscall rseq not implemented [-Wcpp] In file included from /kisskb/src/include/asm-generic/percpu.h:7, from ./arch/parisc/include/generated/asm/percpu.h:1, from /kisskb/src/arch/parisc/include/asm/processor.h:20, from /kisskb/src/arch/parisc/include/asm/thread_info.h:8, from /kisskb/src/include/linux/thread_info.h:38, from /kisskb/src/include/asm-generic/preempt.h:5, from ./arch/parisc/include/generated/asm/preempt.h:1, from /kisskb/src/include/linux/preempt.h:81, from /kisskb/src/include/linux/spinlock.h:51, from /kisskb/src/include/linux/wait.h:9, from /kisskb/src/include/linux/wait_bit.h:8, from /kisskb/src/include/linux/fs.h:6, from /kisskb/src/include/linux/proc_fs.h:9, from /kisskb/src/kernel/cpu.c:6: /kisskb/src/kernel/cpu.c: In function 'boot_cpu_hotplug_init': /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:221:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:378:16: note: in definition of macro '__pcpu_size_call' switch(sizeof(variable)) { \ ^~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:221:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ /kisskb/src/include/linux/percpu-defs.h:265:47: note: in expansion of macro 'VERIFY_PERCPU_PTR' #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); }) ^~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:337:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_1(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:379:11: note: in expansion of macro 'this_cpu_write_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:12: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:337:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_1(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:379:11: note: in expansion of macro 'this_cpu_write_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:38: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:337:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_1(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:379:11: note: in expansion of macro 'this_cpu_write_1' case 1: stem##1(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:221:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ /kisskb/src/include/linux/percpu-defs.h:265:47: note: in expansion of macro 'VERIFY_PERCPU_PTR' #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); }) ^~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:340:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_2(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_write_2' case 2: stem##2(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:12: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:340:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_2(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_write_2' case 2: stem##2(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:38: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:340:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_2(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:380:11: note: in expansion of macro 'this_cpu_write_2' case 2: stem##2(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:221:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ /kisskb/src/include/linux/percpu-defs.h:265:47: note: in expansion of macro 'VERIFY_PERCPU_PTR' #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); }) ^~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:343:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_4(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:381:11: note: in expansion of macro 'this_cpu_write_4' case 4: stem##4(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:12: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:343:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_4(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:381:11: note: in expansion of macro 'this_cpu_write_4' case 4: stem##4(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:38: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:343:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_4(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:381:11: note: in expansion of macro 'this_cpu_write_4' case 4: stem##4(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:221:47: note: in definition of macro '__verify_pcpu_ptr' const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \ ^~~ /kisskb/src/include/linux/percpu-defs.h:265:47: note: in expansion of macro 'VERIFY_PERCPU_PTR' #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR(ptr); }) ^~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:346:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_8(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:382:11: note: in expansion of macro 'this_cpu_write_8' case 8: stem##8(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:12: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:346:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_8(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:382:11: note: in expansion of macro 'this_cpu_write_8' case 8: stem##8(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:28: error: 'struct cpuhp_cpu_state' has no member named 'booted_once' this_cpu_write(cpuhp_state.booted_once, true); ^ /kisskb/src/include/linux/percpu-defs.h:262:38: note: in definition of macro 'VERIFY_PERCPU_PTR' (typeof(*(__p)) __kernel __force *)(__p); \ ^~~ /kisskb/src/include/linux/percpu-defs.h:266:26: note: in expansion of macro 'per_cpu_ptr' #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:76:3: note: in expansion of macro 'raw_cpu_ptr' *raw_cpu_ptr(&(pcp)) op val; \ ^~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:152:2: note: in expansion of macro 'raw_cpu_generic_to_op' raw_cpu_generic_to_op(pcp, val, op); \ ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/percpu.h:346:36: note: in expansion of macro 'this_cpu_generic_to_op' #define this_cpu_write_8(pcp, val) this_cpu_generic_to_op(pcp, val, =) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/percpu-defs.h:382:11: note: in expansion of macro 'this_cpu_write_8' case 8: stem##8(variable, __VA_ARGS__);break; \ ^~~~ /kisskb/src/include/linux/percpu-defs.h:510:34: note: in expansion of macro '__pcpu_size_call' #define this_cpu_write(pcp, val) __pcpu_size_call(this_cpu_write_, pcp, val) ^~~~~~~~~~~~~~~~ /kisskb/src/kernel/cpu.c:2275:2: note: in expansion of macro 'this_cpu_write' this_cpu_write(cpuhp_state.booted_once, true); ^~~~~~~~~~~~~~ /kisskb/src/scripts/Makefile.build:317: recipe for target 'kernel/cpu.o' failed make[2]: *** [kernel/cpu.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In function 'kernfs_get_target_path', inlined from 'kernfs_getlink.isra.0' at /kisskb/src/fs/kernfs/symlink.c:109:10, inlined from 'kernfs_iop_get_link.part.1' at /kisskb/src/fs/kernfs/symlink.c:127:10, inlined from 'kernfs_iop_get_link': /kisskb/src/fs/kernfs/symlink.c:91:3: warning: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(s + len, kn->name, slen); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/kernfs/symlink.c: In function 'kernfs_iop_get_link': /kisskb/src/fs/kernfs/symlink.c:88:14: note: length computed here int slen = strlen(kn->name); ^~~~~~~~~~~~~~~~ /kisskb/src/Makefile:1029: recipe for target 'kernel' failed make[1]: *** [kernel] Error 2 make[1]: *** Waiting for unfinished jobs.... /kisskb/src/crypto/ablkcipher.c: In function 'crypto_ablkcipher_report': /kisskb/src/crypto/ablkcipher.c:374:2: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation] strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(rblkcipher.geniv)); ~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/crypto/ablkcipher.c: In function 'crypto_givcipher_report': /kisskb/src/crypto/ablkcipher.c:448:2: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation] strncpy(rblkcipher.geniv, alg->cra_ablkcipher.geniv ?: "", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(rblkcipher.geniv)); ~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/crypto/blkcipher.c: In function 'crypto_blkcipher_report': /kisskb/src/crypto/blkcipher.c:513:2: warning: 'strncpy' specified bound 64 equals destination size [-Wstringop-truncation] strncpy(rblkcipher.geniv, alg->cra_blkcipher.geniv ?: "", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(rblkcipher.geniv)); ~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/ext4/super.c: In function '__save_error_info.isra.6': /kisskb/src/fs/ext4/super.c:344:2: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation] strncpy(es->s_last_error_func, func, sizeof(es->s_last_error_func)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/ext4/super.c:349:3: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation] strncpy(es->s_first_error_func, func, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sizeof(es->s_first_error_func)); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function 'fill_kobj_path', inlined from 'kobject_get_path' at /kisskb/src/lib/kobject.c:155:2: /kisskb/src/lib/kobject.c:128:3: warning: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(path + length, kobject_name(parent), cur); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/lib/kobject.c: In function 'kobject_get_path': /kisskb/src/lib/kobject.c:125:13: note: length computed here int cur = strlen(kobject_name(parent)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ Makefile:146: recipe for target 'sub-make' failed make: *** [sub-make] Error 2 Command 'make -s -j 48 ARCH=parisc O=/kisskb/build/linus_parisc-defconfig_parisc CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/hppa-linux/bin/hppa-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_parisc-defconfig_parisc # Build took: 0:00:51.649302