# git rev-parse -q --verify 343a9f35409b68b6de66ecd0db90a277aee90ec2^{commit} 343a9f35409b68b6de66ecd0db90a277aee90ec2 already have revision, skipping fetch # git checkout -q -f -B kisskb 343a9f35409b68b6de66ecd0db90a277aee90ec2 # git clean -qxdf # < git log -1 # commit 343a9f35409b68b6de66ecd0db90a277aee90ec2 # Merge: f4267b3604a8 a2acce536921 # Author: Linus Torvalds # Date: Tue Oct 30 09:49:56 2018 -0700 # # Merge tag 'trace-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace # # Pull tracing updates from Steven Rostedt: # "The biggest change here is the updates to kprobes # # Back in January I posted patches to create function based events. # These were the events that you suggested I make to allow developers to # easily create events in code where no trace event exists. After # posting those changes for review, it was suggested that we implement # this instead with kprobes. # # The problem with kprobes is that the interface is too complex and # needs to be simplified. Masami Hiramatsu posted patches in March and # I've been playing with them a bit. There's been a bit of clean up in # the kprobe code that was inspired by the function based event patches, # and a couple of enhancements to the kprobe event interface. # # - If the arch supports it (we added support for x86), you can place a # kprobe event at the start of a function and use $arg1, $arg2, etc # to reference the arguments of a function. (Before you needed to # know what register or where on the stack the argument was). # # - The second is a way to see array of events. For example, if you # reference a mac address, you can add: # # echo 'p:mac ip_rcv perm_addr=+574($arg2):x8[6]' > kprobe_events # # And this will produce: # # mac: (ip_rcv+0x0/0x140) perm_addr={0x52,0x54,0x0,0xc0,0x76,0xec} # # Other changes include # # - Exporting trace_dump_stack to modules # # - Have the stack tracer trace the entire stack (stop trying to remove # tracing itself, as we keep removing too much). # # - Added support for SDT in uprobes" # # [ SDT - "Statically Defined Tracing" are userspace markers for tracing. # Let's not use random TLA's in explanations unless they are fairly # well-established as generic (at least for kernel people) - Linus ] # # * tag 'trace-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (24 commits) # tracing: Have stack tracer trace full stack # tracing: Export trace_dump_stack to modules # tracing: probeevent: Fix uninitialized used of offset in parse args # tracing/kprobes: Allow kprobe-events to record module symbol # tracing/kprobes: Check the probe on unloaded module correctly # tracing/uprobes: Fix to return -EFAULT if copy_from_user failed # tracing: probeevent: Add $argN for accessing function args # x86: ptrace: Add function argument access API # tracing: probeevent: Add array type support # tracing: probeevent: Add symbol type # tracing: probeevent: Unify fetch_insn processing common part # tracing: probeevent: Append traceprobe_ for exported function # tracing: probeevent: Return consumed bytes of dynamic area # tracing: probeevent: Unify fetch type tables # tracing: probeevent: Introduce new argument fetching code # tracing: probeevent: Remove NOKPROBE_SYMBOL from print functions # tracing: probeevent: Cleanup argument field definition # tracing: probeevent: Cleanup print argument functions # trace_uprobe: support reference counter in fd-based uprobe # perf probe: Support SDT markers having reference counter (semaphore) # ... # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < git log --format=%s --max-count=1 343a9f35409b68b6de66ecd0db90a277aee90ec2 # < make -s -j 8 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- allmodconfig # make -s -j 8 ARCH=arm64 O=/kisskb/build/linus_arm64-allmodconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- /kisskb/src/scripts/unifdef.c: In function 'Mpass': /kisskb/src/scripts/unifdef.c:453:28: warning: 'strncpy' output truncated before terminating nul copying 4 bytes from a string of the same length [-Wstringop-truncation] static void Mpass (void) { strncpy(keyword, "if ", 4); Pelif(); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/arm64/include/asm/processor.h:41, from /kisskb/src/include/linux/rcupdate.h:43, from /kisskb/src/include/linux/rculist.h:11, from /kisskb/src/include/linux/pid.h:5, from /kisskb/src/include/linux/sched.h:14, from /kisskb/src/kernel/debug/kdb/kdb_support.c:15: In function 'strncpy', inlined from 'kallsyms_symbol_next' at /kisskb/src/kernel/debug/kdb/kdb_support.c:239:4: /kisskb/src/include/linux/string.h:253:9: warning: '__builtin_strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/kernel/debug/kdb/kdb_support.c: In function 'kallsyms_symbol_next': /kisskb/src/include/linux/string.h:274:10: note: length computed here return __builtin_strlen(p); ^~~~~~~~~~~~~~~~~~~ /kisskb/src/lib/ubsan.c:432:1: warning: ignoring attribute 'noreturn' in declaration of a built-in function '__ubsan_handle_builtin_unreachable' because it conflicts with attribute 'const' [-Wattributes] { ^ : note: previous declaration here In file included from /kisskb/src/arch/arm64/include/asm/processor.h:41, from /kisskb/src/include/asm-generic/qrwlock.h:23, from ./arch/arm64/include/generated/asm/qrwlock.h:1, from /kisskb/src/arch/arm64/include/asm/spinlock.h:19, from /kisskb/src/include/linux/spinlock.h:88, from /kisskb/src/include/linux/seqlock.h:36, from /kisskb/src/include/linux/time.h:6, from /kisskb/src/arch/arm64/include/asm/stat.h:23, from /kisskb/src/include/linux/stat.h:6, from /kisskb/src/include/linux/module.h:10, from /kisskb/src/lib/test_hexdump.c:8: In function 'strncpy', inlined from 'test_hexdump_prepare_test.isra.0' at /kisskb/src/lib/test_hexdump.c:102:3: /kisskb/src/include/linux/string.h:253:9: warning: '__builtin_strncpy' specified bound depends on the length of the source argument [-Wstringop-overflow=] return __builtin_strncpy(p, q, size); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/lib/test_hexdump.c: In function 'test_hexdump_prepare_test.isra.0': /kisskb/src/include/linux/string.h:274:10: note: length computed here return __builtin_strlen(p); ^~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/isdn/hardware/eicon/message.c: In function 'sig_ind': /kisskb/src/drivers/isdn/hardware/eicon/message.c:5985:1: warning: the frame size of 2096 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ Completed OK # rm -rf /kisskb/build/linus_arm64-allmodconfig_arm64-gcc8 # Build took: 0:29:39.188877