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: Thu, 23 Apr 2009 18:44:52 -0700 From: Josh Stone <jistone@...hat.com> To: systemtap <systemtap@...rceware.org> CC: LKML <linux-kernel@...r.kernel.org>, LWN <lwn@....net> Subject: systemtap release 0.9.7 The SystemTap team announces release 0.9.7. Better uprobes shared library support, kprobes dwarfless probing, experimental user space unwinding, better static user space .mark and .label -l listings, improved signal handling (to use stap in scripts), tcp packet receive tracing, typecasting from headers w/o debuginfo, updates for latest kernel = Where to get it http://sourceware.org/systemtap/ - our project page http://sourceware.org/systemtap/ftp/releases/systemtap-0.9.7.tar.gz http://koji.fedoraproject.org/koji/packageinfo?packageID=615 git tag release-0.9.7 (commit 9b055ab2) = How to build it See the README and NEWS files at http://sourceware.org/git/?p=systemtap.git;a=tree Further information at http://sourceware.org/systemtap/wiki/ = SystemTap frontend (stap) changes - The --skip-badvars option now also suppresses run-time error messages that would otherwise result from erroneous memory accesses. Such accesses can originate from $context expressions fueled by erroneous debug data, or by kernel_{long,string,...}() tapset calls. For a full overview of the stap frontend see man stap(1). = SystemTap script language changes - Arrays now support up to 9 index dimensions (up from 5) - @cast can now determine its type information using an explicit header specification. For example: @cast(tv, "timeval", "<sys/time.h>")->tv_sec @cast(task, "task_struct", "kernel<linux/sched.h>")->tgid - New probe primitives 'kprobe.function(FUNCTION)' and 'kprobe.function(FUNCTION).return' for dwarfless probing. These postpone function address resolution to run-time and use the kprobe symbol-resolution mechanism. Probing of absolute statements can be done using the kprobe.statement(ADDRESS).absolute construct. = SystemTap tapset changes - The overlapping process.* tapsets are now separated. Those probe points documented in stapprobes(3stap) remain the same. Those that were formerly in stapprobes.process(3stap) have been renamed to kprocess, to reflect their kernel perspective on processes. - EXPERIMENTAL support for user process unwinding. A new collection of tapset functions have been added to handle user space backtraces from probe points that support them (currently process and timer probes - for timer probes test whether or not in user space first with the already existing user_mode() function). The new tapset functions are: uaddr - User space address of current running task. usymname - Return the symbol of an address in the current task. usymdata - Return the symbol and module offset of an address. print_ustack - Print out stack for the current task from string. print_ubacktrace - Print stack back trace for current task. ubacktrace - Hex backtrace of current task stack. Please read http://sourceware.org/ml/systemtap/2009-q2/msg00364.html on the current restrictions and possible changes in the future and give feedback if you want to influence future developments. - Miscellaneous other tapset changes: - ANSI escape sequences tapset. - symname, symdata and modname kernel context functions. - errno_p() function that will return an absolute errno if valid. - New TCP and IP functions, and probe tcp.receive to trace packets. = New script examples - network/dropwatch.stp watch where kernel socket buffers are freed - network/tcp.stp a simple tcp tapset example - network/tcpdumplike.stp dump of received tcp packets - process/errsnoop.stp tabulate system call errors = Miscellaneous changes - The source tree now includes a lightweight graphing tool that visualizes script data in real time. = Code contributors for this release Ananth N Mavinakayanahalli, Andre Detsch, David Smith, Eugene Teo, Eugeniy Meshcheryakov, Frank Ch. Eigler, Jim Keniston, Josh Stone, Kent Sebastian, Mark Wielaard, Masami Hiramatsu, Maynard Johnson, Prerna Saxena, Rajan Arora, Roland McGrath, Stan Cox, Sunzen Wang, Tim Moore, Wenji Huang, William Cohen Thanks to David Smith and Mark Wielaard for assembling these notes. = Examples of tested kernel versions 2.6.9-70 (el4/i386) 2.6.18 (el5/ia64/i686/x86_64-xen) 2.6.27.21 (f10/i686/x86_64) 2.6.29 (i586/x86_64) 2.6.30-rc3 (x86) = Know issues with this release Some kernel crashes continue to be reported when a script probes broad kernel function wildcards. Some 2.6.28- and 2.6.29-era kernels contain bugs that can more easily trigger crashes upon systemtap scripts. Upgrade to the latest -stable or -rc if possible. = Problems resolved for this release 4105 support up to 9 (up from 5) array index dimensions 5163 assign need_uprobes during pass-2 6580 implement symname, symdata and modname context functions 7072 use _stp_reserve_bytes for printf buffer 9940 avoid double calling of uprobes in shared libraries 9953 split up the two process.* tapsets 9995 test for [installtest_p] && [utrace_p]. 9998 adapt tapset/i686/registers.stp to latest kernel 10016 purge stap of all pgrp and system() usage 10019 add --skip-badvars to suppress run-time memory errors too 10020 sys_sigaltstack param change 10026 read marker/tracepoint args directly 10032 trigger cleanup after relay thread errors 10037 add target_symbol token to $context error messages 10049 restore better errors for $return 10055 generate dummy modules w/types for @cast 10067 fix bitfield access when used with @cast 10070 don't warn about side-effect-free probes in -t (timing) mode 10078 uretprobes on functions returning structs/unions = Test results on various systems After running "sudo make installcheck" from the test suite, on a suitably equipped machine (kernel debugging data and other stuff installed), you should see 800-850 passes and a small handful of failures. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists