From: Andrey Konovalov <andreyknvl@google.com>
To: linux-usb@vger.kernel.org, kvm@vger.kernel.org,
virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Dmitry Vyukov <dvyukov@google.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Alan Stern <stern@rowland.harvard.edu>,
"Michael S . Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Arnd Bergmann <arnd@arndb.de>,
Steven Rostedt <rostedt@goodmis.org>,
David Windsor <dwindsor@gmail.com>,
Elena Reshetova <elena.reshetova@intel.com>,
Anders Roxell <anders.roxell@linaro.org>,
Alexander Potapenko <glider@google.com>,
Marco Elver <elver@google.com>,
Andrey Konovalov <andreyknvl@google.com>
Subject: [PATCH v2 0/3] kcov: collect coverage from usb and vhost
Date: Wed, 23 Oct 2019 17:24:28 +0200 [thread overview]
Message-ID: <cover.1571844200.git.andreyknvl@google.com> (raw)
This patchset extends kcov to allow collecting coverage from the USB
subsystem and vhost workers. See the first patch description for details
about the kcov extension. The other two patches apply this kcov extension
to USB and vhost.
These patches have been used to enable coverage-guided USB fuzzing with
syzkaller for the last few years, see the details here:
https://github.com/google/syzkaller/blob/master/docs/linux/external_fuzzing_usb.md
This patchset has been pushed to the public Linux kernel Gerrit instance:
https://linux-review.googlesource.com/c/linux/kernel/git/torvalds/linux/+/1524
Changes v1 -> v2:
- Changed common_handle type back to u64 (to allow extending it in the
future).
- Reworked kcov_remote_handle() helpers.
- Fixed vhost annotations when CONFIG_KCOV is not enabled.
- Use kcov_disable() instead of kcov_remote_reset() when
KCOV_REMOTE_ENABLE fails.
Changes RFC v1 -> v1:
- Remove unnecessary #ifdef's from drivers/vhost/vhost.c.
- Reset t->kcov when area allocation fails in kcov_remote_start().
- Use struct_size to calculate array size in kcov_ioctl().
- Add a limit on area_size in kcov_remote_arg.
- Added kcov_disable() helper.
- Changed encoding of kcov remote handle ids, see the documentation.
- Added a comment reference for kcov_sequence task_struct field.
- Change common_handle type to u32.
- Add checks for handle validity into kcov_ioctl_locked() and
kcov_remote_start().
- Updated documentation to reflect the changes.
Andrey Konovalov (3):
kcov: remote coverage support
usb, kcov: collect coverage from hub_event
vhost, kcov: collect coverage from vhost_worker
Documentation/dev-tools/kcov.rst | 128 +++++++++
drivers/usb/core/hub.c | 5 +
drivers/vhost/vhost.c | 6 +
drivers/vhost/vhost.h | 1 +
include/linux/kcov.h | 23 ++
include/linux/sched.h | 6 +
include/uapi/linux/kcov.h | 25 ++
kernel/kcov.c | 480 ++++++++++++++++++++++++++++---
8 files changed, 639 insertions(+), 35 deletions(-)
--
2.24.0.rc0.303.g954a862665-goog
next reply other threads:[~2019-10-23 15:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-23 15:24 Andrey Konovalov [this message]
2019-10-23 15:24 ` [PATCH v2 1/3] kcov: remote coverage support Andrey Konovalov
2019-10-23 22:22 ` Andrew Morton
2019-10-24 13:48 ` Andrey Konovalov
2019-10-28 17:23 ` Andrey Konovalov
2019-10-24 7:26 ` Dmitry Vyukov
2019-10-24 14:07 ` Andrey Konovalov
2019-10-28 14:52 ` Andrey Konovalov
2019-10-23 15:24 ` [PATCH v2 2/3] usb, kcov: collect coverage from hub_event Andrey Konovalov
2019-10-23 15:24 ` [PATCH v2 3/3] vhost, kcov: collect coverage from vhost_worker Andrey Konovalov
2019-10-25 20:26 ` kbuild test robot
2019-10-23 22:04 ` [PATCH v2 0/3] kcov: collect coverage from usb and vhost Andrew Morton
2019-10-24 12:47 ` Andrey Konovalov
2019-10-24 23:59 ` Andrew Morton
2019-10-25 14:55 ` Andrey Konovalov
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=cover.1571844200.git.andreyknvl@google.com \
--to=andreyknvl@google.com \
--cc=akpm@linux-foundation.org \
--cc=anders.roxell@linaro.org \
--cc=arnd@arndb.de \
--cc=dvyukov@google.com \
--cc=dwindsor@gmail.com \
--cc=elena.reshetova@intel.com \
--cc=elver@google.com \
--cc=glider@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=jasowang@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=stern@rowland.harvard.edu \
--cc=virtualization@lists.linux-foundation.org \
/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).