From a613156a3263b2deb09902622dd76dd3930682e1 Mon Sep 17 00:00:00 2001 From: Alwin Berger Date: Tue, 29 Oct 2024 15:59:15 +0100 Subject: [PATCH] micro fixes --- fuzzers/FRET/Cargo.toml | 2 +- fuzzers/FRET/benchmark/Snakefile | 2 +- fuzzers/FRET/benchmark/build_all_demos.sh | 3 +++ fuzzers/FRET/src/fuzzer.rs | 1 + fuzzers/FRET/src/systemstate/mutational.rs | 4 +++- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/fuzzers/FRET/Cargo.toml b/fuzzers/FRET/Cargo.toml index d302c6fc11..eb03a3ae01 100644 --- a/fuzzers/FRET/Cargo.toml +++ b/fuzzers/FRET/Cargo.toml @@ -5,7 +5,7 @@ authors = ["Alwin Berger "] edition = "2021" [features] -default = ["std", "snapshot_fast", "restarting", "do_hash_notify_state", "config_stg", "fuzz_int", "trace_job_response_times", "shortcut" ] +default = ["std", "snapshot_fast", "restarting", "do_hash_notify_state", "config_stg", "fuzz_int", "trace_job_response_times", "shortcut", "trace_reads" ] std = [] # Exec environemnt basics snapshot_restore = [] diff --git a/fuzzers/FRET/benchmark/Snakefile b/fuzzers/FRET/benchmark/Snakefile index 7ac15faa8d..d2e5a58eaf 100644 --- a/fuzzers/FRET/benchmark/Snakefile +++ b/fuzzers/FRET/benchmark/Snakefile @@ -1,6 +1,6 @@ import csv import os -def_flags="--release --no-default-features --features std,snapshot_fast,restarting,do_hash_notify_state,trace_job_response_times,fuzz_int" +def_flags="--release --no-default-features --features std,snapshot_fast,restarting,do_hash_notify_state,trace_job_response_times,fuzz_int,trace_reads" remote="remote/" RUNTIME=1800 TARGET_REPS_A=2 diff --git a/fuzzers/FRET/benchmark/build_all_demos.sh b/fuzzers/FRET/benchmark/build_all_demos.sh index a2695ce523..fa95605256 100644 --- a/fuzzers/FRET/benchmark/build_all_demos.sh +++ b/fuzzers/FRET/benchmark/build_all_demos.sh @@ -33,3 +33,6 @@ cp ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/build/RTOSDemo.axf make -C ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC clean && make -C ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC RELEASE_DEMO=1 INTERRUPT_ACTIVATION=1 cp ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/build/RTOSDemo.axf build/release.elf + +make -C ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC clean && make -C ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC COPTER_DEMO=1 INTERRUPT_ACTIVATION=1 +cp ../../../../FreeRTOS/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/build/RTOSDemo.axf build/copter.elf \ No newline at end of file diff --git a/fuzzers/FRET/src/fuzzer.rs b/fuzzers/FRET/src/fuzzer.rs index 71d107e910..3677ed7931 100644 --- a/fuzzers/FRET/src/fuzzer.rs +++ b/fuzzers/FRET/src/fuzzer.rs @@ -521,6 +521,7 @@ let run_client = |state: Option<_>, mut mgr, _core_id| { let stages = (systemstate::report::SchedulerStatsStage::default(),()); let stages = (StdMutationalStage::new(mutator), stages); + #[cfg(feature = "mutate_stg")] let mut stages = (STGSnippetStage::new(input_addr), stages); #[cfg(feature = "fuzz_int")] let mut stages = (InterruptShiftStage::new(&interrupt_config), stages); diff --git a/fuzzers/FRET/src/systemstate/mutational.rs b/fuzzers/FRET/src/systemstate/mutational.rs index 2e3518d290..c08d0b97c6 100644 --- a/fuzzers/FRET/src/systemstate/mutational.rs +++ b/fuzzers/FRET/src/systemstate/mutational.rs @@ -558,7 +558,9 @@ where let new = worst.map_bytes_onto(jobinst, Some(self.input_addr)); do_rerun |= new.len() > 0; for (addr, byte) in new { - new_bytes[addr as usize] = byte; + if (addr as usize) < new_bytes.len() { + new_bytes[addr as usize] = byte; + } } }, Option::None => {}