not all CPUs know ondemand
MODIFY
gcc_plugin/afl-gcc-pass.so.cc
gcc_plugin/afl-gcc-pass.so.cc
@@ -113,6 +113,7 @@ static unsigned int ext_call_instrument(function *fun) {
DECL_EXTERNAL(fndecl) = 1; /* External linkage */
DECL_ARTIFICIAL(fndecl) = 1; /* Injected by compiler */
+printf("NEW FUNC %s\n", function_name(fun));
FOR_EACH_BB_FN(bb, fun) {
gimple_seq fcall;
@@ -128,24 +129,40 @@ static unsigned int ext_call_instrument(function *fun) {
int more_than_one = -1;
edge ep;
edge_iterator eip;
+int foo = 0;
+ if (ep->flags & EDGE_FALLTHRU)
+printf("pred %d fallthough\n", foo);
FOR_EACH_EDGE(ep, eip, bb->preds) {
+int item = 0;
+foo++;
+printf("pred %d\n", foo);
+ if (ep->flags & EDGE_FALLTHRU)
+printf("pred %d fallthough\n", foo);
+
int count = 0;
+if (ep->flags & EDGE_FALLTHRU)
if (more_than_one == -1) more_than_one = 0;
basic_block Pred = ep->src;
edge es;
edge_iterator eis;
FOR_EACH_EDGE(es, eis, Pred->succs) {
+item++;
+
+ if (es->flags & EDGE_FALLTHRU)
+printf("item %d fallthough\n", item);
basic_block Succ = es->dest;
if (Succ != NULL) count++;
}
+printf("total items: %d\n", item);
if (count > 1) more_than_one = 1;
}
+printf("result: %d\n", more_than_one);
if (more_than_one != 1) continue;

MODIFY
src/afl-fuzz-init.c
src/afl-fuzz-init.c
@@ -1562,11 +1562,10 @@ void check_cpu_governor(void) {
" echo performance | tee cpu*/cpufreq/scaling_governor\n\n"
" You can later go back to the original state by replacing "
- "'performance' with\n"
- " 'ondemand'. If you don't want to change the settings, set "
- "AFL_SKIP_CPUFREQ\n"
- " to make afl-fuzz skip this check - but expect some performance "
- "drop.\n",
+ "'performance'\n"
+ " with 'ondemand' or 'powersave'. If you don't want to change the settings,\n"
+ " set AFL_SKIP_CPUFREQ to make afl-fuzz skip this check - but expect some\n"
+ " performance drop.\n",
min / 1024, max / 1024);
FATAL("Suboptimal CPU scaling governor");

not all CPUs know ondemand