# git rev-parse -q --verify 06afb0f36106ecb839c5e2509905e68c1e2677de^{commit} 06afb0f36106ecb839c5e2509905e68c1e2677de already have revision, skipping fetch # git checkout -q -f -B kisskb 06afb0f36106ecb839c5e2509905e68c1e2677de # git clean -qxdf # < git log -1 # commit 06afb0f36106ecb839c5e2509905e68c1e2677de # Merge: 4b01712311c6 45af52e7d3b8 # Author: Linus Torvalds # Date: Fri Nov 22 13:27:01 2024 -0800 # # Merge tag 'trace-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace # # Pull tracing updates from Steven Rostedt: # # - Addition of faultable tracepoints # # There's a tracepoint attached to both a system call entry and exit. # This location is known to allow page faults. The tracepoints are # called under an rcu_read_lock() which does not allow faults that can # sleep. This limits the ability of tracepoint handlers to page fault # in user space system call parameters. Now these tracepoints have been # made "faultable", allowing the callbacks to fault in user space # parameters and record them. # # Note, only the infrastructure has been implemented. The consumers # (perf, ftrace, BPF) now need to have their code modified to allow # faults. # # - Fix up of BPF code for the tracepoint faultable logic # # - Update tracepoints to use the new static branch API # # - Remove trace_*_rcuidle() variants and the SRCU protection they used # # - Remove unused TRACE_EVENT_FL_FILTERED logic # # - Replace strncpy() with strscpy() and memcpy() # # - Use replace per_cpu_ptr(smp_processor_id()) with this_cpu_ptr() # # - Fix perf events to not duplicate samples when tracing is enabled # # - Replace atomic64_add_return(1, counter) with # atomic64_inc_return(counter) # # - Make stack trace buffer 4K instead of PAGE_SIZE # # - Remove TRACE_FLAG_IRQS_NOSUPPORT flag as it was never used # # - Get the true return address for function tracer when function graph # tracer is also running. # # When function_graph trace is running along with function tracer, the # parent function of the function tracer sometimes is # "return_to_handler", which is the function graph trampoline to record # the exit of the function. Use existing logic that calls into the # fgraph infrastructure to find the real return address. # # - Remove (un)regfunc pointers out of tracepoint structure # # - Added last minute bug fix for setting pending modules in stack # function filter. # # echo "write*:mod:ext3" > /sys/kernel/tracing/stack_trace_filter # # Would cause a kernel NULL dereference. # # - Minor clean ups # # * tag 'trace-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (31 commits) # ftrace: Fix regression with module command in stack_trace_filter # tracing: Fix function name for trampoline # ftrace: Get the true parent ip for function tracer # tracing: Remove redundant check on field->field in histograms # bpf: ensure RCU Tasks Trace GP for sleepable raw tracepoint BPF links # bpf: decouple BPF link/attach hook and BPF program sleepable semantics # bpf: put bpf_link's program when link is safe to be deallocated # tracing: Replace strncpy() with strscpy() when copying comm # tracing: Add might_fault() check in __DECLARE_TRACE_SYSCALL # tracing: Fix syscall tracepoint use-after-free # tracing: Introduce tracepoint_is_faultable() # tracing: Introduce tracepoint extended structure # tracing: Remove TRACE_FLAG_IRQS_NOSUPPORT # tracing: Replace multiple deprecated strncpy with memcpy # tracing: Make percpu stack trace buffer invariant to PAGE_SIZE # tracing: Use atomic64_inc_return() in trace_clock_counter() # trace/trace_event_perf: remove duplicate samples on the first tracepoint event # tracing/bpf: Add might_fault check to syscall probes # tracing/perf: Add might_fault check to syscall probes # tracing/ftrace: Add might_fault check to syscall probes # ... # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux-ld --version # < git log --format=%s --max-count=1 06afb0f36106ecb839c5e2509905e68c1e2677de # make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- cavium_octeon_defconfig # < make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- olddefconfig # make -s -j 160 ARCH=mips O=/kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- /kisskb/src/arch/mips/pci/msi-octeon.c:343:12: warning: no previous prototype for 'octeon_msi_initialize' [-Wmissing-prototypes] int __init octeon_msi_initialize(void) ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/smp.c:100:6: warning: no previous prototype for 'octeon_send_ipi_single' [-Wmissing-prototypes] void octeon_send_ipi_single(int cpu, unsigned int action) ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/pci/pcie-octeon.c:1471:5: warning: no previous prototype for 'octeon_pcie_pcibios_map_irq' [-Wmissing-prototypes] int octeon_pcie_pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/pci/pci-octeon.c:234:12: warning: no previous prototype for 'octeon_pci_pcibios_map_irq' [-Wmissing-prototypes] int __init octeon_pci_pcibios_map_irq(const struct pci_dev *dev, ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/octeon-platform.c:701:13: warning: no previous prototype for 'octeon_fill_mac_addresses' [-Wmissing-prototypes] void __init octeon_fill_mac_addresses(void) ^~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/executive/cvmx-interrupt-decodes.c:53:6: warning: no previous prototype for '__cvmx_interrupt_gmxx_rxx_int_en_enable' [-Wmissing-prototypes] void __cvmx_interrupt_gmxx_rxx_int_en_enable(int index, int block) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/cavium-octeon/executive/cvmx-helper-errata.c:49:6: warning: no previous prototype for '__cvmx_helper_errata_qlm_disable_2nd_order_cdr' [-Wmissing-prototypes] void __cvmx_helper_errata_qlm_disable_2nd_order_cdr(int qlm) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:297:5: warning: no previous prototype for 'register_co_cache_error_notifier' [-Wmissing-prototypes] int register_co_cache_error_notifier(struct notifier_block *nb) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:303:5: warning: no previous prototype for 'unregister_co_cache_error_notifier' [-Wmissing-prototypes] int unregister_co_cache_error_notifier(struct notifier_block *nb) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:342:17: warning: no previous prototype for 'cache_parity_error_octeon_recoverable' [-Wmissing-prototypes] asmlinkage void cache_parity_error_octeon_recoverable(void) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/mips/mm/c-octeon.c:351:17: warning: no previous prototype for 'cache_parity_error_octeon_non_recoverable' [-Wmissing-prototypes] asmlinkage void cache_parity_error_octeon_non_recoverable(void) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/watchdog/octeon-wdt-main.c:210:6: warning: no previous prototype for 'octeon_wdt_nmi_stage3' [-Wmissing-prototypes] void octeon_wdt_nmi_stage3(u64 reg[32]) ^~~~~~~~~~~~~~~~~~~~~ Completed OK # rm -rf /kisskb/build/linus_cavium_octeon_defconfig_mips-gcc8.1 # Build took: 0:02:06.892446