jjb: lava: Reimplement kprobe fuzzing job
This commits reimplements the kprobe fuzzing job in Python.
The Lava job is split into two stages. The first stage generates the
list of instrumentation points to try and saves it to the Lava job.
The second stage, reads this file and perform the fuzzing.
To save the instrumentation points file, we need to attach it to the job
from a Lava test shell that doesn't crash since that would prevent the
file from being saved. Because the fuzzing stage is likely to crash, we
need to do the generation and saving in a different stage.
In the past, we only fuzzed kallsyms symbols. Now we also fuzz random
offsets from these symbols and random addresses in the entire address
range.
We now save the list of instrumentation points before running the
fuzzing, so we don't have to print tested symbols along the way.
Instead, at each iteration, we print what interval of lines we are
currently testing. When we witness a crash, we can go back to the saved
file to see what instrumentation points caused it.
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
This page took 0.024293 seconds and 4 git commands to generate.