netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Jakub Kicinski <kuba@kernel.org>, Florian Westphal <fw@strlen.de>
Cc: Ido Schimmel <idosch@idosch.org>,
	Aleksandr Nogikh <aleksandrnogikh@gmail.com>,
	davem@davemloft.net, edumazet@google.com, andreyknvl@google.com,
	dvyukov@google.com, elver@google.com,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org, willemdebruijn.kernel@gmail.com,
	Aleksandr Nogikh <nogikh@google.com>,
	Willem de Bruijn <willemb@google.com>
Subject: Re: [PATCH v5 2/3] net: add kcov handle to skb extensions
Date: Sat, 21 Nov 2020 19:12:21 +0100	[thread overview]
Message-ID: <bcfb0fe1b207d2f4bb52f0d1ef51207f9b5587de.camel@sipsolutions.net> (raw)
In-Reply-To: <20201121100636.26aaaf8a@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>

On Sat, 2020-11-21 at 10:06 -0800, Jakub Kicinski wrote:
> On Sat, 21 Nov 2020 17:52:27 +0100 Florian Westphal wrote:
> > Ido Schimmel <idosch@idosch.org> wrote:
> > > Other suggestions?  
> > 
> > Aleksandr, why was this made into an skb extension in the first place?
> > 
> > AFAIU this feature is usually always disabled at build time.
> > For debug builds (test farm /debug kernel etc) its always needed.
> > 
> > If thats the case this u64 should be an sk_buff member, not an
> > extension.
> 
> Yeah, in hindsight I should have looked at how it's used. Not a great
> fit for extensions. We can go back, but...
> 
> In general I'm not very happy at how this is going. First of all just
> setting the handle in a couple of allocs seems to not be enough, skbs
> get cloned, reused etc. There were also build problems caused by this
> patch and Aleksandr & co where nowhere to be found. Now we find out
> this causes leaks, how was that not caught by the syzbot it's supposed
> to serve?!

Heh.

> 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...

johannes


  reply	other threads:[~2020-11-21 18:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-29 17:36 [PATCH v5 0/3] net, mac80211, kernel: enable KCOV remote coverage collection for 802.11 frame handling Aleksandr Nogikh
2020-10-29 17:36 ` [PATCH v5 1/3] kernel: make kcov_common_handle consider the current context Aleksandr Nogikh
2020-10-29 17:36 ` [PATCH v5 2/3] net: add kcov handle to skb extensions Aleksandr Nogikh
2020-11-21 16:09   ` Ido Schimmel
2020-11-21 16:52     ` Florian Westphal
2020-11-21 17:39       ` Johannes Berg
2020-11-21 18:06       ` Jakub Kicinski
2020-11-21 18:12         ` Johannes Berg [this message]
2020-11-21 18:35           ` Jakub Kicinski
2020-11-21 19:30             ` Johannes Berg
2020-11-21 20:55               ` Jakub Kicinski
2020-11-21 20:58                 ` Johannes Berg
2020-11-21 21:02                   ` Jakub Kicinski
2020-11-25 16:30                     ` Marco Elver
2020-12-01  1:52     ` Jakub Kicinski
2020-12-01  7:35       ` Ido Schimmel
2020-12-01 16:43         ` Jakub Kicinski
2020-10-29 17:36 ` [PATCH v5 3/3] mac80211: add KCOV remote annotations to incoming frame processing Aleksandr Nogikh
2020-10-29 17:44   ` Johannes Berg
2020-10-29 18:00     ` Marco Elver
2020-10-29 19:08       ` Andrey Konovalov
2020-11-03  3:00 ` [PATCH v5 0/3] net, mac80211, kernel: enable KCOV remote coverage collection for 802.11 frame handling Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bcfb0fe1b207d2f4bb52f0d1ef51207f9b5587de.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=aleksandrnogikh@gmail.com \
    --cc=andreyknvl@google.com \
    --cc=davem@davemloft.net \
    --cc=dvyukov@google.com \
    --cc=edumazet@google.com \
    --cc=elver@google.com \
    --cc=fw@strlen.de \
    --cc=idosch@idosch.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nogikh@google.com \
    --cc=willemb@google.com \
    --cc=willemdebruijn.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).