# 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/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < git log --format=%s --max-count=1 343a9f35409b68b6de66ecd0db90a277aee90ec2 # < make -s -j 10 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allmodconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # yes \n | make -s -j 10 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 oldconfig yes: standard output: Broken pipe # make -s -j 10 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 /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(); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/um/os-Linux/skas/process.c: In function 'start_idle_thread': /kisskb/src/arch/um/os-Linux/skas/process.c:613:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ /kisskb/src/arch/um/os-Linux/umid.c: In function 'is_umdir_used': /kisskb/src/arch/um/os-Linux/umid.c:138:2: warning: ISO C90 forbids variable length array 'file' [-Wvla] char file[strlen(uml_dir) + UMID_LEN + sizeof("/pid\0")]; ^ /kisskb/src/arch/um/os-Linux/umid.c: In function 'create_pid_file': /kisskb/src/arch/um/os-Linux/umid.c:213:2: warning: ISO C90 forbids variable length array 'file' [-Wvla] char file[strlen(uml_dir) + UMID_LEN + sizeof("/pid\0")]; ^ /kisskb/src/arch/um/os-Linux/umid.c: In function 'remove_umid_dir': /kisskb/src/arch/um/os-Linux/umid.c:388:2: warning: ISO C90 forbids variable length array 'dir' [-Wvla] char dir[strlen(uml_dir) + UMID_LEN + 1], err; ^ /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1256:3: warning: 'root' may be used uninitialized in this function [-Wmaybe-uninitialized] percpu_ref_reinit(&root->cgrp.self.refcnt); ^ /kisskb/src/security/apparmor/policy_unpack.c: In function 'unpack_trans_table': /kisskb/src/security/apparmor/policy_unpack.c:483:9: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized] str[pos] = ':'; ^ In file included from /kisskb/src/kernel/sched/psi.c:135:0: /kisskb/src/kernel/sched/psi.c: In function 'cgroup_move_task': /kisskb/src/kernel/sched/sched.h:1063:8: warning: 'rq' may be used uninitialized in this function [-Wmaybe-uninitialized] if (rq->clock_update_flags > RQCF_ACT_SKIP) ^ /kisskb/src/kernel/sched/psi.c:639:13: note: 'rq' was declared here struct rq *rq; ^ /kisskb/src/lib/lz4/lz4hc_compress.c: In function 'LZ4HC_compress_generic': /kisskb/src/lib/lz4/lz4hc_compress.c:579:1: warning: the frame size of 2144 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ /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 [-Wmaybe-uninitialized] if (ret == -EOPNOTSUPP) ^ LINK linux Completed OK # rm -rf /kisskb/build/linus_um-allmodconfig_um-x86_64 # Build took: 0:10:47.751140