Thread (19 messages) 19 messages, 6 authors, 2020-12-01

Re: [PATCH v5 2/3] net: add kcov handle to skb extensions

From: Jakub Kicinski <kuba@kernel.org>
Date: 2020-11-21 18:35:32
Also in: linux-wireless, lkml

On Sat, 21 Nov 2020 19:12:21 +0100 Johannes Berg wrote:
quoted
So I'm leaning towards reverting the whole thing. You can attach
kretprobes and record the information you need in BPF maps.  
I'm not going to object to reverting it (and perhaps redoing it better
later), but I will point out that kretprobe isn't going to work, you
eventually need kcov_remote_start() to be called in strategic points
before processing the skb after it bounced through the system.

IOW, it's not really about serving userland, it's about enabling (and
later disabling) coverage collection for the bits of code it cares
about, mostly because collecting it for _everything_ is going to be too
slow and will mess up the data since for coverage guided fuzzing you
really need the reported coverage data to be only about the injected
fuzz data...
All you need is make kcov_remote_start_common() be BPF-able, like 
the LSM hooks are now, right? And then BPF can return whatever handle 
it pleases.

Or if you don't like BPF or what to KCOV BPF itself in the future you
can roll your own mechanism. The point is - this should be relatively
easily doable out of line...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help