Closed richiejp closed 2 years ago
I think I will move this to its own repository and separate the actors out too.
Separated the actors component (because I might use that for something else) and put the executor in its own repository.
https://gitlab.com/Palethorpe/ltp-executor https://gitlab.com/Palethorpe/libactors
I think it look great!
While I'm neither an expert in RCU nor the actor model, skimming through the code I feel like I can understand most of it, so there's that on readability :)
As for the functionality part everything essential seems covered as well.
Look forward to see this integrated, it will definitely solve issues I'm facing :+1:
I have an end-to-end demo working https://gitlab.com/Palethorpe/ltp-executor/-/blob/master/test/qemu-integration.sh
Will try to integrate it with runltp-ng next, but first I will path LTP to support building it with a config option like the syzkaller reproducers.
This branch now integrates the Executor with runltp-ng and implements revert to snapshot (actually QEMU migrations) which is significantly faster than rebooting the VM with KASAN enabled.
JSON log file generation is broken.
Implements #23
@richiejp thank you so much :star_struck:
I'm planning on trying it out next week, will let you know how it goes
OK, you will have to do some manual configuration of the VM. I start the executor with systemd on SLE https://gitlab.com/Palethorpe/ltp-executor/-/blob/master/usr/lib/systemd/ltp-executor@.service
Also you need the LTP branch which includes the executor: https://gitlab.suse.de/kernel-qa/ltp/-/tree/syz+exec
and need to add --with-executor
to the configure step and make sure you have the executor deps, such as Cmake and liburcu. I will probably remove these deps and just add the executor to the LTP by default, but this will be quite a lot of work (reinventing the wheel).
This almost certainly belongs in its own repo, but for now I will put it here.
See the README.
19