[RFC] BPF fault/jitter-injection framework

From: Sergey Senozhatsky
Date: Fri May 02 2025 - 00:10:35 EST


Greetings,

I've been thinking what if we had a BPF jitter/fault injection framework
for more fine-grained and configurable kernel testing. Current fault
injection doesn't support function arguments analysis, with BPF we
can have something like

// of course bpf_schedule_timeout() doesn't exist yet
call bpf_schedule_timeout(120) in blk_execute_rq(rq) if
rq->q->disk->major == 8 && rq->q->disk->first_minor == 0

So that would introduce blk request execution timeouts/jitters for a
particular gendisk only. And so on.

Has this been discussed before? Does this approach even make sense
or is there a better (another) way to do this?