Skip to content

Commit 3e25b32

Browse files
authored
Add libvharness and InputSetter. Set coverage map from inside the VM. Refactor commands. (#3366)
* add libvharness. add input setter. refactor commands. fix some bugs. * fix some stuff, add host slice for qemu memory * host memory segments * support for concurrent libafl qemu and qemu breakpoints * bump cmake version * move libvharness to a new crate. * create a rust sys crate for libvharness. * remove old (now useless) bindings. * add libvharness stub * better exclude features * make cpu mandatory for the input location. * update qemu * fix qemu injection example * fix unicorn update * fix and add kernel fuzzer in CI
1 parent a3773a3 commit 3e25b32

File tree

88 files changed

+4689
-6018
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+4689
-6018
lines changed

.github/workflows/build_and_test.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ jobs:
457457
# - full_system/qemu_linux_kernel
458458
# - full_system/qemu_linux_process
459459
runs-on: ubuntu-24.04
460-
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
460+
# container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
461461
steps:
462462
# Get the name of the fuzzer so that we can use it as the key for a cache
463463
# of the built artefacts. The key cannot have any special characters.
@@ -509,10 +509,10 @@ jobs:
509509
matrix:
510510
fuzzer:
511511
- full_system/qemu_baremetal
512-
# - full_system/qemu_linux_kernel
512+
- full_system/qemu_linux_kernel
513513
# - full_system/qemu_linux_process
514514
runs-on: ubuntu-24.04
515-
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
515+
# container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
516516
steps:
517517
# Get the name of the fuzzer so that we can use it as the key for a cache
518518
# of the built artefacts. The key cannot have any special characters.
@@ -564,7 +564,7 @@ jobs:
564564
fuzzer:
565565
- full_system/qemu_baremetal
566566
runs-on: ubuntu-24.04
567-
container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
567+
# container: registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2204:latest
568568
steps:
569569
# Get the name of the fuzzer so that we can use it as the key for a cache
570570
# of the built artefacts. The key cannot have any special characters.
@@ -898,7 +898,7 @@ jobs:
898898
- name: Increase map sizes
899899
run: ./scripts/shmem_limits_macos.sh
900900
- name: Clippy
901-
run: cargo clippy --tests --all --exclude libafl_nyx --exclude symcc_runtime --exclude runtime_test
901+
run: cargo clippy --tests --all --exclude libafl_nyx --exclude symcc_runtime --exclude runtime_test --exclude libvharness_sys --exclude libafl_qemu_sys --exclude libafl_qemu --exclude libafl_qemu_build
902902

903903
ubuntu-cross-android-arm64:
904904
runs-on: ubuntu-24.04

.github/workflows/qemu-fuzzer-tester-prepare/action.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,13 @@ runs:
66
- name: Install QEMU deps
77
shell: bash
88
run: |
9-
apt-get update
10-
apt-get install -y qemu-utils sudo python3-msgpack python3-jinja2 curl python3-dev gcc-arm-none-eabi \
11-
gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
9+
sudo apt-get update
10+
sudo apt-get install -y qemu-utils sudo python3-msgpack python3-jinja2 curl python3-dev gcc-arm-none-eabi \
11+
gcc-arm-linux-gnueabi g++-arm-linux-gnueabi cmake
1212
- name: Remove old rust
1313
shell: bash
1414
run: sudo apt purge -y 'rust*' 'cargo*'
1515
- uses: dtolnay/rust-toolchain@stable
16-
env:
17-
RUSTUP_HOME: /usr/local/rustup
18-
CARGO_HOME: /usr/local/cargo
1916
- name: enable mult-thread for `make`
2017
shell: bash
2118
run: export MAKEFLAGS="-j$(expr $(nproc) \+ 1)"

0 commit comments

Comments
 (0)