[PATCH v5 0/2] hv: vmbus: add fuzz testing to hv device

From: Branden Bonaby
Date: Thu Sep 12 2019 - 22:31:57 EST

This patchset introduces a testing framework for Hyper-V drivers.
This framework allows us to introduce delays in the packet receive
path on a per-device basis. While the current code only supports
introducing arbitrary delays in the host/guest communication path,
we intend to expand this to support error injection in the future.

changes in v5:
patch 1:
As per Stephen's suggestion, Moved CONFIG_HYPERV_TESTING
to lib/Kconfig.debug.

Fixed build issue reported by Kbuild, with Michael's
suggestion to make hv_debugfs part of the hv_vmbus

changes in v4:
patch 1:
Combined previous v3 patches 1 and 2, into a single patch
which is now patch 1. This was done so that calls to
the new debugfs functions are in the same patch as
the definitions for these functions.

Moved debugfs code from "vmbus_drv.c" that was in
previous v3 patch 2, into a new file "debugfs.c" in

Updated the Makefile to compile "debugfs.c" if

As per Michael's comments, added empty implementations
of the new functions, so the compiler will not generate
code when CONFIG_HYPERV_TESTING is not enabled.

patch 2 (was previously v3 patch 3):
Based on Harrys comments, made the tool more
user friendly and added more error checking.

changes in v3:
patch 2: change call to IS_ERR_OR_NULL, to IS_ERR.

patch 3: Align python tool to match Linux coding style.

Changes in v2:
Patch 1: As per Vitaly's suggestion, wrapped the test code under an
#ifdef and updated the Kconfig file, so that the test code
will only be used when the config option is set to true.
(default is false).

Updated hyperv_vmbus header to contain new #ifdef with new
new functions for the test code.

Patch 2: Moved code from under sysfs to debugfs and wrapped it under
the new ifdef.

Updated MAINTAINERS file with new debugfs-hyperv file under
the section for hyperv.

Patch 3: Updated testing tool with new debugfs location.

Branden Bonaby (2):
drivers: hv: vmbus: Introduce latency testing
tools: hv: add vmbus testing tool

Documentation/ABI/testing/debugfs-hyperv | 23 ++
drivers/hv/Makefile | 1 +
drivers/hv/connection.c | 1 +
drivers/hv/hv_debugfs.c | 185 +++++++++++
drivers/hv/hyperv_vmbus.h | 31 ++
drivers/hv/ring_buffer.c | 2 +
drivers/hv/vmbus_drv.c | 6 +
include/linux/hyperv.h | 19 ++
lib/Kconfig.debug | 7 +
tools/hv/vmbus_testing | 376 +++++++++++++++++++++++
11 files changed, 652 insertions(+)
create mode 100644 Documentation/ABI/testing/debugfs-hyperv
create mode 100644 drivers/hv/hv_debugfs.c
create mode 100644 tools/hv/vmbus_testing