All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] kcov: collect coverage from usb and vhost
@ 2019-10-22 16:46 Andrey Konovalov
  2019-10-22 16:46 ` [PATCH 1/3] kcov: remote coverage support Andrey Konovalov
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Andrey Konovalov @ 2019-10-22 16:46 UTC (permalink / raw)
  To: linux-usb, kvm, virtualization, netdev, linux-kernel,
	Dmitry Vyukov, Greg Kroah-Hartman, Alan Stern,
	Michael S . Tsirkin, Jason Wang
  Cc: Andrew Morton, Arnd Bergmann, Steven Rostedt, David Windsor,
	Elena Reshetova, Anders Roxell, Andrey Konovalov

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 from RFC 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 | 120 ++++++++
 drivers/usb/core/hub.c           |   5 +
 drivers/vhost/vhost.c            |   6 +
 drivers/vhost/vhost.h            |   1 +
 include/linux/kcov.h             |   6 +
 include/linux/sched.h            |   6 +
 include/uapi/linux/kcov.h        |  20 ++
 kernel/kcov.c                    | 464 ++++++++++++++++++++++++++++---
 8 files changed, 593 insertions(+), 35 deletions(-)

-- 
2.23.0.866.gb869b98d4c-goog


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2019-10-24 13:39 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-22 16:46 [PATCH 0/3] kcov: collect coverage from usb and vhost Andrey Konovalov
2019-10-22 16:46 ` [PATCH 1/3] kcov: remote coverage support Andrey Konovalov
2019-10-23 17:20   ` kbuild test robot
2019-10-23 17:20     ` kbuild test robot
2019-10-23 17:20     ` kbuild test robot
2019-10-24 13:10     ` Andrey Konovalov
2019-10-24 13:10       ` Andrey Konovalov
2019-10-22 16:46 ` [PATCH 2/3] usb, kcov: collect coverage from hub_event Andrey Konovalov
2019-10-23 19:10   ` kbuild test robot
2019-10-23 19:10     ` kbuild test robot
2019-10-24 13:39     ` Andrey Konovalov
2019-10-24 13:39       ` Andrey Konovalov
2019-10-23 19:10   ` kbuild test robot
2019-10-22 16:46 ` [PATCH 3/3] vhost, kcov: collect coverage from vhost_worker Andrey Konovalov
2019-10-23  8:36   ` Dmitry Vyukov via Virtualization
2019-10-23  8:36   ` Dmitry Vyukov
2019-10-23 13:35     ` Andrey Konovalov
2019-10-23 13:50       ` Dmitry Vyukov via Virtualization
2019-10-23 13:50       ` Dmitry Vyukov
2019-10-23 15:00         ` Andrey Konovalov
2019-10-23  8:37 ` [PATCH 0/3] kcov: collect coverage from usb and vhost Dmitry Vyukov
2019-10-23  8:37   ` Dmitry Vyukov via Virtualization

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.