lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Mon, 25 Nov 2019 14:53:30 -0500
From:   Steven Rostedt <rostedt@...dmis.org>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     LKML <linux-kernel@...r.kernel.org>,
        Ingo Molnar <mingo@...nel.org>,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: [GIT PULL] tracing: Updates for 5.5


Linus,

A couple of known conflicts with linux-next:

 One with arch64 that both updated vmlinux.lds.h and the conflict
 resolution is here:

   git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/aarch64-conflict

And the other is a trivial conflict with livepatching in the
selftest Makefile. I think Stephen reported some other minor ones too.

New tracing features:

 - PERAMAENT flag to ftrace_ops when attaching a callback to a function
   As /proc/sys/kernel/ftrace_enabled when set to zero will disable all
   attached callbacks in ftrace, this has a detrimental impact on live
   kernel tracing, as it disables all that it patched. If a ftrace_ops
   is registered to ftrace with the PERMANENT flag set, it will prevent
   ftrace_enabled from being disabled, and if ftrace_enabled is already
   disabled, it will prevent a ftrace_ops with PREMANENT flag set from
   being registered.

 - New register_ftrace_direct(). As eBPF would like to register its own
   trampolines to be called by the ftrace nop locations directly,
   without going through the ftrace trampoline, this function has been
   added. This allows for eBPF trampolines to live along side of
   ftrace, perf, kprobe and live patching. It also utilizes the ftrace
   enabled_functions file that keeps track of functions that have been
   modified in the kernel, to allow for security auditing.

 - Allow for kernel internal use of ftrace instances. Subsystems in
   the kernel can now create and destroy their own tracing instances
   which allows them to have their own tracing buffer, and be able
   to record events without worrying about other users from writing over
   their data.

 - New seq_buf_hex_dump() that lets users use the hex_dump() in their
   seq_buf usage.

 - Notifications now added to tracing_max_latency to allow user space
   to know when a new max latency is hit by one of the latency tracers.

 - Wider spread use of generic compare operations for use of bsearch and
   friends.

 - More synthetic event fields may be defined (32 up from 16)

 - Use of xarray for architectures with sparse system calls, for the
   system call trace events.

This along with small clean ups and fixes.

Please pull the latest trace-v5.5 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
trace-v5.5

Tag SHA1: e1b5446490496ec6b12aa207c5aaa83f94f6f44a
Head SHA1: 16c0f03f629a89e6a1249497202b2c154ff46206


Alexei Starovoitov (1):
      ftrace: Return ENOTSUPP when DYNAMIC_FTRACE_WITH_DIRECT_CALLS is not configured

Andy Shevchenko (3):
      lib/sort: Move swap, cmp and cmp_r function types for wider use
      lib/bsearch: Use generic type for comparator function
      tracing: Use generic type for comparator function

Artem Bityutskiy (1):
      tracing: Increase SYNTH_FIELDS_MAX for synthetic_events

Ben Dooks (1):
      tracing: Make internal ftrace events static

Borislav Petkov (1):
      tracing: Remove stray tab in TRACE_EVAL_MAP_FILE's help text

Colin Ian King (1):
      ftrace/selftests: Fix spelling mistake "wakeing" -> "waking"

Divya Indi (5):
      tracing: Declare newly exported APIs in include/linux/trace.h
      tracing: Verify if trace array exists before destroying it.
      tracing: Adding NULL checks for trace_array descriptor pointer
      tracing: Adding new functions for kernel access to Ftrace instances
      tracing: Sample module to demonstrate kernel access to Ftrace instances.

Enrico Weigelt, metux IT consult (1):
      ftrace: Use BIT() macro

Hassan Naveed (2):
      tracing: Use xarray for syscall trace events
      tracing: Enable syscall optimization for MIPS

Joe Lawrence (2):
      selftests/livepatch: Make dynamic debug setup and restore generic
      selftests/livepatch: Test interaction with ftrace_enabled

Josh Poimboeuf (1):
      ftrace/x86: Tell objtool to ignore nondeterministic ftrace stack layout

Krzysztof Kozlowski (1):
      tracing: Fix Kconfig indentation

Masami Hiramatsu (1):
      tracing/kprobe: Check whether the non-suffixed symbol is notrace

Miroslav Benes (1):
      ftrace: Introduce PERMANENT ftrace_ops flag

Piotr Maziarz (2):
      seq_buf: Add printing formatted hex dumps
      tracing: Use seq_buf_hex_dump() to dump buffers

Sebastian Andrzej Siewior (1):
      tracing: Use CONFIG_PREEMPTION

Srivatsa S. Bhat (VMware) (1):
      tracing/hwlat: Fix a few trivial nits

Steven Rostedt (VMware) (21):
      ftrace: Separate out the copying of a ftrace_hash from __ftrace_hash_move()
      ftrace: Separate out functionality from ftrace_location_range()
      ftrace: Add register_ftrace_direct()
      ftrace: Add ftrace_find_direct_func()
      ftrace: Add sample module that uses register_ftrace_direct()
      ftrace/selftest: Add tests to test register_ftrace_direct()
      ftrace: Add another example of register_ftrace_direct() use case
      ftrace/selftests: Update the direct call selftests to test two direct calls
      ftrace/x86: Add register_ftrace_direct() for custom trampolines
      ftrace/x86: Add a counter to test function_graph with direct
      ftrace: Add information on number of page groups allocated
      fgraph: Fix function type mismatches of ftrace_graph_return using ftrace_stub
      tracing/selftests: Turn off timeout setting
      tracing: Add missing "inline" in stub function of latency_fsnotify()
      ftrace: Add modify_ftrace_direct()
      ftrace/samples: Add a sample module that implements modify_ftrace_direct()
      ftrace: Fix accounting bug with direct->count in register_ftrace_direct()
      ftrace: Add another check for match in register_ftrace_direct()
      ftrace: Add helper find_direct_entry() to consolidate code
      ftrace: Add a helper function to modify_ftrace_direct() to allow arch optimization
      ftrace: Rename ftrace_graph_stub to ftrace_stub_graph

Viktor Rosendahl (BMW) (2):
      ftrace: Implement fs notification for tracing_max_latency
      preemptirq_delay_test: Add the burst feature and a sysfs trigger

Xianting Tian (1):
      ring-buffer: Fix typos in function ring_buffer_producer

Yuming Han (1):
      tracing: use kvcalloc for tgid_map array allocation

----
 Documentation/trace/ftrace-uses.rst                |  10 +-
 Documentation/trace/ftrace.rst                     |   4 +-
 arch/Kconfig                                       |   8 +
 arch/mips/Kconfig                                  |   1 +
 arch/sh/boot/compressed/misc.c                     |   5 +
 arch/x86/Kconfig                                   |   1 +
 arch/x86/include/asm/ftrace.h                      |  13 +
 arch/x86/include/asm/unwind_hints.h                |   8 +
 arch/x86/kernel/ftrace.c                           |  14 +
 arch/x86/kernel/ftrace_64.S                        |  42 +-
 include/asm-generic/vmlinux.lds.h                  |  17 +-
 include/linux/bsearch.h                            |   2 +-
 include/linux/ftrace.h                             | 112 +++-
 include/linux/seq_buf.h                            |   3 +
 include/linux/sort.h                               |   8 +-
 include/linux/trace.h                              |   8 +
 include/linux/trace_events.h                       |   8 +-
 include/linux/trace_seq.h                          |   4 +
 include/linux/types.h                              |   5 +
 include/trace/trace_events.h                       |   6 +
 kernel/livepatch/patch.c                           |   3 +-
 kernel/module.c                                    |   6 +-
 kernel/trace/Kconfig                               |  26 +-
 kernel/trace/fgraph.c                              |  11 +-
 kernel/trace/ftrace.c                              | 613 +++++++++++++++++++--
 kernel/trace/preemptirq_delay_test.c               | 144 ++++-
 kernel/trace/ring_buffer_benchmark.c               |   4 +-
 kernel/trace/trace.c                               | 214 +++++--
 kernel/trace/trace.h                               |  25 +-
 kernel/trace/trace_branch.c                        |   8 +-
 kernel/trace/trace_events.c                        |  29 +-
 kernel/trace/trace_events_hist.c                   |   2 +-
 kernel/trace/trace_export.c                        |   4 +-
 kernel/trace/trace_hwlat.c                         |  15 +-
 kernel/trace/trace_kprobe.c                        |  27 +-
 kernel/trace/trace_output.c                        |  15 +
 kernel/trace/trace_seq.c                           |  30 +
 kernel/trace/trace_stat.c                          |   6 +-
 kernel/trace/trace_stat.h                          |   2 +-
 kernel/trace/trace_syscalls.c                      |  32 +-
 lib/bsearch.c                                      |   2 +-
 lib/seq_buf.c                                      |  62 +++
 lib/sort.c                                         |  15 +-
 samples/Kconfig                                    |  15 +
 samples/Makefile                                   |   2 +
 samples/ftrace/Makefile                            |   8 +
 samples/ftrace/ftrace-direct-modify.c              |  88 +++
 samples/ftrace/ftrace-direct-too.c                 |  51 ++
 samples/ftrace/ftrace-direct.c                     |  45 ++
 samples/ftrace/sample-trace-array.c                | 131 +++++
 samples/ftrace/sample-trace-array.h                |  84 +++
 tools/testing/selftests/ftrace/settings            |   1 +
 .../ftrace/test.d/direct/ftrace-direct.tc          |  69 +++
 .../ftrace/test.d/direct/kprobe-direct.tc          |  84 +++
 tools/testing/selftests/livepatch/Makefile         |   3 +-
 tools/testing/selftests/livepatch/functions.sh     |  34 +-
 .../testing/selftests/livepatch/test-callbacks.sh  |   2 +-
 tools/testing/selftests/livepatch/test-ftrace.sh   |  65 +++
 .../testing/selftests/livepatch/test-livepatch.sh  |   2 +-
 .../selftests/livepatch/test-shadow-vars.sh        |   2 +-
 60 files changed, 2054 insertions(+), 206 deletions(-)
 create mode 100644 samples/ftrace/Makefile
 create mode 100644 samples/ftrace/ftrace-direct-modify.c
 create mode 100644 samples/ftrace/ftrace-direct-too.c
 create mode 100644 samples/ftrace/ftrace-direct.c
 create mode 100644 samples/ftrace/sample-trace-array.c
 create mode 100644 samples/ftrace/sample-trace-array.h
 create mode 100644 tools/testing/selftests/ftrace/settings
 create mode 100644 tools/testing/selftests/ftrace/test.d/direct/ftrace-direct.tc
 create mode 100644 tools/testing/selftests/ftrace/test.d/direct/kprobe-direct.tc
 create mode 100755 tools/testing/selftests/livepatch/test-ftrace.sh
---------------------------

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ