[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH v4 0/2] xen: add libalf fuzzing support


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Date: Fri, 18 Jul 2025 12:21:41 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=U90myqrvbGuu6/XrR8mksB90D+/i1tvuCLeIjRC5Psw=; b=FRDup+2TCRkVKGTfovYcks0xUDF+mT54oRDK8W79o1zZ5xgi50j3NoYRmxcqcIGa5xISvCjNfYp9MFQdv36sVMKcF94JqI7Ntnh7SbWc2GuBH4sVdXCI3mCFtm1P+UdGSIwX9Xib7YlviJTz6SBM9L85GZeesM0+4zwDCXPDCqpgx9YpjdD0kdG87HE7rTjbds2oJBFB798xrysZ8Keq53MNdxT/uqowMeCPp+1tSI5D5uawmD1Scy6IFS8FowtZrqUDRhbfMjFyk60dNMhMCSPfqFJ8VzsLlQpwXpG6R0glFPYGNMmGWjm9WCbBW50uGCJULe9jhCs3BJpCO6mwMw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CPOpYErp09kePOhvhU3iYmucVlqnOyIjDRoV+Q0aBIdHGHkgoiHSN6ASJYx3NPjQYBJ2eFJ35qDUH6WMSfF2KQNSuJi+bzIUB9DcjTUPGOXVqmA/rQmoWamcmX69f1EdUwn53eH81zPoLe/KmTa5XMMGxz2Fi46q/6EpvmWFP+y90cdB2/A2KwZpen6J5D8ckhdhg78aq+3G9TxSqMI+t14ciAfhjLktPmcBuU7rmaQk3Y0DdSI7cDCo8B6fMOzsEjvqVAU0OZOfzm6+a43mIDY4+aa0SwieH+ieYEfwTM5yZplu182VyhCz14x+Z9mJ8ZKT6bGxhBVPm1eEIvwcCg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Fri, 18 Jul 2025 12:21:53 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHb996EFRM+97CFOEubIr8GkcHOLQ==
  • Thread-topic: [RFC PATCH v4 0/2] xen: add libalf fuzzing support

It is possible to use LibAFL with LibAFL-QEMU to fuzz different
baremetal programs, including Xen hypervisor. This small series
tries to add minimal (but extenable) support for fuzzing.

changes in v4:
 - No global changes, only minor changes in patches, see local
   changelog.

changes in v3:
 - Added patch with experimental CI integration
 - Severely reworked the main patch (see notes in the patch itself)

Volodymyr Babchuk (2):
  xen: add libafl-qemu fuzzer support
  ci: enable fuzzing for arm64

 automation/gitlab-ci/build.yaml        |  9 +++
 automation/gitlab-ci/test.yaml         | 33 ++++++++++
 docs/hypervisor-guide/fuzzing.rst      | 91 ++++++++++++++++++++++++++
 xen/arch/arm/Kconfig.debug             | 36 ++++++++++
 xen/arch/arm/include/asm/libafl-qemu.h | 50 ++++++++++++++
 xen/arch/arm/psci.c                    |  5 ++
 xen/common/Makefile                    |  1 +
 xen/common/domain.c                    |  3 +
 xen/common/libafl-qemu.c               | 79 ++++++++++++++++++++++
 xen/common/sched/core.c                |  5 ++
 xen/common/shutdown.c                  |  3 +
 xen/drivers/char/console.c             |  3 +
 xen/include/xen/fuzzer.h               | 52 +++++++++++++++
 xen/include/xen/libafl-qemu.h          | 58 ++++++++++++++++
 14 files changed, 428 insertions(+)
 create mode 100644 docs/hypervisor-guide/fuzzing.rst
 create mode 100644 xen/arch/arm/include/asm/libafl-qemu.h
 create mode 100644 xen/common/libafl-qemu.c
 create mode 100644 xen/include/xen/fuzzer.h
 create mode 100644 xen/include/xen/libafl-qemu.h

-- 
2.50.0



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.