[ANNOUNCE] KernelStrider 0.3

From: Eugene Shatokhin
Date: Thu Feb 27 2014 - 09:19:54 EST


KernelStrider 0.3 has been released.

KernelStrider system can be used to detect data races in the Linux kernel modules, especially the drivers involved in wired and wireless networking. Currently, it works on x86 only. The code is under GPL v2 license.

KernelStrider instruments the kernel modules under analysis in runtime. When the code of these modules is executed, KernelStrider collects information about the memory locations accessed by that code, about the functions called, etc. The collected data are passed to user space where they can be analyzed by ThreadSanitizer (Google) [1] to reveal potential races.

Most significant changes in version 0.3:
* Implemented compression of the output data with LZO to increase throughput, etc.
* Provided a helper script (kedr.py) to simplify loading/unloading of kernel-mode components.
* Applied several fixes in handling of NAPI callbacks and netdev operations.
* Fixed handling of recursive calls (such things can still be found in some out-of-tree kernel modules).
* Fixed lockdep warnings in the handlers for alloc/free operations.

Downloads, tutorials, etc., are available at
http://code.google.com/p/kernel-strider/

Now that version 0.3 is out, I might finally find time to experiment with compile-time instrumentation suggested by some of you many times (in addition to the runtime instrumentation technique used in KernelStrider now). In some future version, I also plan to make KernelStrider part of KEDR framework [2], which I also maintain.

Suggestions, bug reports and other kinds of feedback are welcome, as usual.

Regards,
Eugene

[1] http://code.google.com/p/data-race-test/
[2] http://code.google.com/p/kedr/

--
Eugene Shatokhin, ROSA
www.rosalab.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/