From 246938d4a64201b35bc7b4b5232db0601aff76cb Mon Sep 17 00:00:00 2001 From: Tobias Stumpf Date: Wed, 29 Jul 2015 19:09:32 +0200 Subject: [PATCH] l4-sys: Enable FI in all config cases Fix the problem that injection was never enabled if func_entry == filter_entry. Change-Id: Ifec64b6d1351e0857e568ca132cfed891f85aa62 --- src/experiments/l4-sys/experimentPreparation.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/experiments/l4-sys/experimentPreparation.cc b/src/experiments/l4-sys/experimentPreparation.cc index 644de464..5d50a23c 100644 --- a/src/experiments/l4-sys/experimentPreparation.cc +++ b/src/experiments/l4-sys/experimentPreparation.cc @@ -89,7 +89,11 @@ void L4SysExperiment::collectInstructionTrace(fail::BPSingleListener* bp) bp->setWatchInstructionPointer(ANY_ADDR); map times_called_map; - bool injecting = false; + /* We run until the IP reaches func_entry. We will not + * reach the same IP again. So, if filter and func entry are + * equal, then we have to enable injections. + */ + bool injecting = conf.filter_entry == conf.func_entry; while (bp->getTriggerInstructionPointer() != conf.func_exit) { fail::BaseListener *res = simulator.resume();