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
| ||
|
Date: Wed, 29 Mar 2017 14:20:51 +0900 From: Masami Hiramatsu <mhiramat@...nel.org> To: Steven Rostedt <rostedt@...dmis.org>, Ingo Molnar <mingo@...hat.com> Cc: Alban Crequy <alban.crequy@...il.com>, Alban Crequy <alban@...volk.io>, Alexei Starovoitov <ast@...nel.org>, Jonathan Corbet <corbet@....net>, Arnaldo Carvalho de Melo <acme@...hat.com>, Omar Sandoval <osandov@...com>, linux-doc@...r.kernel.org, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, iago@...volk.io, michael@...volk.io, Dorau Lukasz <lukasz.dorau@...el.com>, systemtap@...rceware.org Subject: [RFC PATCH tip/master 0/3] kprobes: tracing: kretprobe_instance dynamic allocation Here is a correction of patches to introduce kretprobe_instance dynamic allocation for avoiding kretprobe silently miss-hits. Original issue was reported by Lukasz on linux-trace ml. https://www.spinics.net/lists/linux-trace/msg00448.html Also Alban is working on kprobe-tracer side because of iovisor's issue. https://www.spinics.net/lists/netdev/msg427149.html (Note that this series is independently applicable, no conflict) This series is a kind of complementary patches for Alban's patch. So I think both of them are needed. [1/3]: Add kretprobe's miss-hit counter to miss-hit column on kprobe_profile. This helps user to see what happened. [2/3]: Introduce kretprobe_instance dynamic allocation. This will help user not to miss the ret probes even it has low number of maxactive. [3/3]: Set maximum limitation for pre-allocated maxactive. This can avoid miss configuration of struct kretprobe. The downside of this patch is, dynamic allocation will involve memory allocation, which sometimes traced by kprobes. In that case those nested kprobes are missed. To avoid this kind of miss-hit, user may need to make maxactive enough large when registering kretprobes. However, in other case, this can reduce the possibility of miss-hit of kretprobes. Since the maxactive increased automatically, user will not need to retry tracing with larger maxactive. Alban, you can reuse KRETPROBE_MAXACTIVE_ALLOC for checking upper limiation in trace_kprobe.c too. Thank you, --- Masami Hiramatsu (3): trace: kprobes: Show sum of probe/retprobe nmissed count kprobes: Allocate kretprobe instance if its free list is empty kprobes: Limit kretprobe maximum instances Documentation/kprobes.txt | 25 +++++++++++++++--------- include/linux/kprobes.h | 2 ++ kernel/kprobes.c | 44 +++++++++++++++++++++++++++++++------------ kernel/trace/trace_kprobe.c | 2 +- 4 files changed, 50 insertions(+), 23 deletions(-) -- Masami Hiramatsu (Linaro) <mhiramat@...nel.org>
Powered by blists - more mailing lists