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>] [thread-next>] [day] [month] [year] [list]
Message-Id: <150724519527.5014.10207042218696587159.stgit@devbox>
Date:   Fri,  6 Oct 2017 08:13:15 +0900
From:   Masami Hiramatsu <mhiramat@...nel.org>
To:     Ingo Molnar <mingo@...nel.org>
Cc:     Linus Torvalds <torvalds@...ux-foundation.org>,
        Peter Zijlstra <peterz@...radead.org>,
        Alexei Starovoitov <ast@...nel.org>,
        Ananth N Mavinakayanahalli <ananth@...ux.vnet.ibm.com>,
        "Paul E . McKenney" <paulmck@...ux.vnet.ibm.com>,
        Steven Rostedt <rostedt@...dmis.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        LKML <linux-kernel@...r.kernel.org>,
        "H . Peter Anvin" <hpa@...or.com>,
        Anil S Keshavamurthy <anil.s.keshavamurthy@...el.com>,
        "David S . Miller" <davem@...emloft.net>,
        Kees Cook <keescook@...omium.org>,
        Ian McDonald <ian.mcdonald@...di.co.nz>,
        Vlad Yasevich <vyasevich@...il.com>,
        Stephen Hemminger <stephen@...workplumber.org>
Subject: [RFC PATCH -tip 0/5] kprobes: Abolish jprobe APIs

Hi,

This series abolishes jprobe APIs and remove or disable related
code. This is a preparation of removing all jprobe code (including
kprobe's break_handler.)
I'm not so sure how many jprobe users still exists, but
please migrate your tool to trace-event or perf-probe.

As we discussed this thread ( https://lkml.org/lkml/2017/10/2/386 ),
we decided to remove jprobe.

Nowadays ftrace and other tracing features are enough matured
to replace jprobe use-cases. Users can safely use ftrace and
perf probe etc. for their use cases. So we have better way.
IOW, jprobe finished its task.

People who still use jprobe, must migrate to other tracing features.
Please consider to migrate your tool to following options.

- Use trace-event to trace target function with arguments
  trace-event is a low-overhead (and almost no visible overhead if it
  is off) statically defined event interface. You can define new events
  and trace it via ftrace or any other tracing tools.
  See following urls,
  - https://lwn.net/Articles/379903/
  - https://lwn.net/Articles/381064/
  - https://lwn.net/Articles/383362/

- Use ftrace dynamic events (kprobe event) with perf-probe
  If you build your kernel with debug info (CONFIG_DEBUG_INFO), you can
  find which register/stack is assigned to which local variable or arguments
  by using perf-probe and set up new event to trace it.
  See following documents,
  - Documentation/trace/kprobetrace.txt
  - Documentation/trace/events.txt
  - tools/perf/Documentation/perf-probe.txt

As far as I can see, tcp probe, dccp probe, sctp probe and lkdtm
are using jprobe to probe function. Please consider to migrate.

Thank you,

---

Masami Hiramatsu (5):
      kprobes: Use ENOTSUPP instead of ENOSYS
      kprobes: Abolish jprobe APIs
      kprobes: Disable jprobe test code
      kprobes: Remove jprobe sample code
      kprobes: docs: Remove jprobe related document


 Documentation/kprobes.txt        |  153 +++++++++++++-------------------------
 include/linux/kprobes.h          |   52 ++++++-------
 kernel/kprobes.c                 |    6 +
 kernel/test_kprobes.c            |    9 ++
 samples/kprobes/Makefile         |    2 
 samples/kprobes/jprobe_example.c |   67 -----------------
 6 files changed, 88 insertions(+), 201 deletions(-)
 delete mode 100644 samples/kprobes/jprobe_example.c

--
Masami Hiramatsu (Linaro) <mhiramat@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ