# 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 40 ARCH=mips O=/kisskb/build/linus_allnoconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- allnoconfig # < make -s -j 40 ARCH=mips O=/kisskb/build/linus_allnoconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- help # make -s -j 40 ARCH=mips O=/kisskb/build/linus_allnoconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- olddefconfig # make -s -j 40 ARCH=mips O=/kisskb/build/linus_allnoconfig_mips-gcc8.1 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/mips-linux/bin/mips-linux- Completed OK # rm -rf /kisskb/build/linus_allnoconfig_mips-gcc8.1 # Build took: 0:00:20.712573