# 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/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc --version # < git log --format=%s --max-count=1 343a9f35409b68b6de66ecd0db90a277aee90ec2 # < make -s -j 48 ARCH=arm O=/kisskb/build/linus_nhk8815_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- nhk8815_defconfig # make -s -j 48 ARCH=arm O=/kisskb/build/linus_nhk8815_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- /kisskb/src/kernel/rcu/srcutree.c: In function 'init_srcu_struct_fields': /kisskb/src/kernel/rcu/srcutree.c:133:33: warning: 'levelspread[]' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/rcu/srcutree.c:100:6: note: 'levelspread[]' was declared here /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:187:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2594:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1855:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:341:21: note: 'pdeo' was declared here /kisskb/src/drivers/i2c/i2c-core-base.c: In function 'i2c_generic_scl_recovery': /kisskb/src/drivers/i2c/i2c-core-base.c:235:5: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c: In function 'tun_get_user': /kisskb/src/drivers/net/tun.c:1819:30: warning: 'copylen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c:1513:34: warning: 'linear' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c:1729:46: note: 'linear' was declared here Completed OK # rm -rf /kisskb/build/linus_nhk8815_defconfig_arm # Build took: 0:00:49.592874