Skip to content

Commit 83112ed

Browse files
committed
got rid of questionable phrasing
1 parent fbd781f commit 83112ed

23 files changed

+135
-134
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -381,10 +381,10 @@ The available schedules are:
381381
- rare (experimental)
382382

383383
In parallel mode (-M/-S, several instances with the shared queue), we suggest to
384-
run the master using the explore or fast schedule (-p explore) and the slaves
385-
with a combination of cut-off-exponential (-p coe), exponential (-p fast),
384+
run the main node using the explore or fast schedule (-p explore) and the secondary
385+
nodes with a combination of cut-off-exponential (-p coe), exponential (-p fast),
386386
explore (-p explore) and mmopt (-p mmopt) schedules. If a schedule does
387-
not perform well for a target, restart the slave with a different schedule.
387+
not perform well for a target, restart the secondary nodes with a different schedule.
388388

389389
In single mode, using -p fast is usually slightly more beneficial than the
390390
default explore mode.

docs/Changelog.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ sending a mail to <[email protected]>.
1111

1212
### Version ++2.65d (dev)
1313
- afl-fuzz:
14-
- -S slaves now only sync from the master to increase performance,
15-
the -M master still syncs from everyone. Added checks that ensure
16-
exactly one master is present and warn otherwise
17-
- If no master is present at a sync one slave automatically becomes
18-
a temporary master until a real master shows up
14+
- -S secondary nodes now only sync from the main node to increase performance,
15+
the -M main node still syncs from everyone. Added checks that ensure
16+
exactly one main node is present and warn otherwise
17+
- If no main node is present at a sync one secondary node automatically becomes
18+
a temporary main node until a real main nodes shows up
1919
- fix/update to MOpt (thanks to arnow117)
2020
- llvm_mode:
2121
- the default instrumentation is now PCGUARD, as it is faster and provides
@@ -912,7 +912,7 @@ sending a mail to <[email protected]>.
912912
- Switched from exit() to _exit() in injected code to avoid snafus with
913913
destructors in C++ code. Spotted by sunblate.
914914

915-
- Made a change to avoid spuriously setting __AFL_SHM_ID when
915+
- Made a change to avoid spuriously setting __AFL_SHM_ID when
916916
AFL_DUMB_FORKSRV is set in conjunction with -n. Spotted by Jakub Wilk.
917917

918918
### Version 1.94b:

docs/binaryonly_fuzzing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
it allows for very fast and coverage guided fuzzing.
55

66
However, if there is only the binary program and no source code available,
7-
then standard `afl-fuzz -n` (dumb mode) is not effective.
7+
then standard `afl-fuzz -n` (non-instrumented mode) is not effective.
88

99
The following is a description of how these binaries can be fuzzed with afl++
1010

docs/notes_for_asan.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ Note that ASAN is incompatible with -static, so be mindful of that.
2828

2929
(You can also use AFL_USE_MSAN=1 to enable MSAN instead.)
3030

31-
NOTE: if you run several slaves only one should run the target compiled with
32-
ASAN (and UBSAN, CFISAN), the others should run the target with no sanitizers
33-
compiled in.
31+
NOTE: if you run several secondary instances, only one should run the target
32+
compiled with ASAN (and UBSAN, CFISAN), the others should run the target with
33+
no sanitizers compiled in.
3434

3535
There is also the option of generating a corpus using a non-ASAN binary, and
3636
then feeding it to an ASAN-instrumented one to check for bugs. This is faster,

docs/parallel_fuzzing.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ In fact, if you rely on just a single job on a multi-core system, you will
1313
be underutilizing the hardware. So, parallelization is usually the right
1414
way to go.
1515

16-
When targeting multiple unrelated binaries or using the tool in "dumb" (-n)
17-
mode, it is perfectly fine to just start up several fully separate instances
18-
of afl-fuzz. The picture gets more complicated when you want to have multiple
19-
fuzzers hammering a common target: if a hard-to-hit but interesting test case
20-
is synthesized by one fuzzer, the remaining instances will not be able to use
21-
that input to guide their work.
16+
When targeting multiple unrelated binaries or using the tool in
17+
"non-instrumented" (-n) mode, it is perfectly fine to just start up several
18+
fully separate instances of afl-fuzz. The picture gets more complicated when
19+
you want to have multiple fuzzers hammering a common target: if a hard-to-hit
20+
but interesting test case is synthesized by one fuzzer, the remaining instances
21+
will not be able to use that input to guide their work.
2222

2323
To help with this problem, afl-fuzz offers a simple way to synchronize test
2424
cases on the fly.
@@ -37,7 +37,7 @@ system, simply create a new, empty output directory ("sync dir") that will be
3737
shared by all the instances of afl-fuzz; and then come up with a naming scheme
3838
for every instance - say, "fuzzer01", "fuzzer02", etc.
3939

40-
Run the first one ("master", -M) like this:
40+
Run the first one ("main node", -M) like this:
4141

4242
```
4343
./afl-fuzz -i testcase_dir -o sync_dir -M fuzzer01 [...other stuff...]
@@ -57,26 +57,26 @@ Each fuzzer will keep its state in a separate subdirectory, like so:
5757
Each instance will also periodically rescan the top-level sync directory
5858
for any test cases found by other fuzzers - and will incorporate them into
5959
its own fuzzing when they are deemed interesting enough.
60-
For performance reasons only -M masters sync the queue with everyone, the
61-
-S slaves will only sync from the master.
60+
For performance reasons only -M main node syncs the queue with everyone, the
61+
-S secondary nodes will only sync from the main node.
6262

63-
The difference between the -M and -S modes is that the master instance will
63+
The difference between the -M and -S modes is that the main instance will
6464
still perform deterministic checks; while the secondary instances will
6565
proceed straight to random tweaks.
6666

67-
Note that you must always have one -M master instance!
67+
Note that you must always have one -M main instance!
6868

6969
Note that running multiple -M instances is wasteful, although there is an
7070
experimental support for parallelizing the deterministic checks. To leverage
7171
that, you need to create -M instances like so:
7272

7373
```
74-
./afl-fuzz -i testcase_dir -o sync_dir -M masterA:1/3 [...]
75-
./afl-fuzz -i testcase_dir -o sync_dir -M masterB:2/3 [...]
76-
./afl-fuzz -i testcase_dir -o sync_dir -M masterC:3/3 [...]
74+
./afl-fuzz -i testcase_dir -o sync_dir -M mainA:1/3 [...]
75+
./afl-fuzz -i testcase_dir -o sync_dir -M mainB:2/3 [...]
76+
./afl-fuzz -i testcase_dir -o sync_dir -M mainC:3/3 [...]
7777
```
7878

79-
...where the first value after ':' is the sequential ID of a particular master
79+
...where the first value after ':' is the sequential ID of a particular main
8080
instance (starting at 1), and the second value is the total number of fuzzers to
8181
distribute the deterministic fuzzing across. Note that if you boot up fewer
8282
fuzzers than indicated by the second number passed to -M, you may end up with
@@ -168,7 +168,7 @@ to keep in mind:
168168
This arrangement would allow test interesting cases to propagate across
169169
the fleet without having to copy every fuzzer queue to every single host.
170170

171-
- You do not want a "master" instance of afl-fuzz on every system; you should
171+
- You do not want a "main" instance of afl-fuzz on every system; you should
172172
run them all with -S, and just designate a single process somewhere within
173173
the fleet to run with -M.
174174

@@ -185,10 +185,10 @@ also basic machine-readable information always written to the fuzzer_stats file
185185
in the output directory. Locally, that information can be interpreted with
186186
afl-whatsup.
187187
188-
In principle, you can use the status screen of the master (-M) instance to
188+
In principle, you can use the status screen of the main (-M) instance to
189189
monitor the overall fuzzing progress and decide when to stop. In this
190190
mode, the most important signal is just that no new paths are being found
191-
for a longer while. If you do not have a master instance, just pick any
191+
for a longer while. If you do not have a main instance, just pick any
192192
single secondary instance to watch and go by that.
193193
194194
You can also rely on that instance's output directory to collect the
@@ -197,7 +197,7 @@ within the fleet. Secondary (-S) instances do not require any special
197197
monitoring, other than just making sure that they are up.
198198

199199
Keep in mind that crashing inputs are *not* automatically propagated to the
200-
master instance, so you may still want to monitor for crashes fleet-wide
200+
main instance, so you may still want to monitor for crashes fleet-wide
201201
from within your synchronization or health checking scripts (see afl-whatsup).
202202

203203
## 5) Asymmetric setups

docs/power_schedules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ where *α(i)* is the performance score that AFL uses to compute for the seed inp
2525

2626
More details can be found in the paper that was accepted at the [23rd ACM Conference on Computer and Communications Security (CCS'16)](https://www.sigsac.org/ccs/CCS2016/accepted-papers/).
2727

28-
PS: In parallel mode (several instances with shared queue), we suggest to run the master using the exploit schedule (-p exploit) and the slaves with a combination of cut-off-exponential (-p coe), exponential (-p fast; default), and explore (-p explore) schedules. In single mode, the default settings will do. **EDIT:** In parallel mode, AFLFast seems to perform poorly because the path probability estimates are incorrect for the imported seeds. Pull requests to fix this issue by syncing the estimates accross instances are appreciated :)
28+
PS: In parallel mode (several instances with shared queue), we suggest to run the main node using the exploit schedule (-p exploit) and the secondary nodes with a combination of cut-off-exponential (-p coe), exponential (-p fast; default), and explore (-p explore) schedules. In single mode, the default settings will do. **EDIT:** In parallel mode, AFLFast seems to perform poorly because the path probability estimates are incorrect for the imported seeds. Pull requests to fix this issue by syncing the estimates across instances are appreciated :)
2929

3030
Copyright 2013, 2014, 2015, 2016 Google Inc. All rights reserved.
3131
Released under terms and conditions of Apache License, Version 2.0.

docs/status_screen.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The top line shows you which mode afl-fuzz is running in
3333
(normal: "american fuzy lop", crash exploration mode: "peruvian rabbit mode")
3434
and the version of afl++.
3535
Next to the version is the banner, which, if not set with -T by hand, will
36-
either show the binary name being fuzzed, or the -M/-S master/slave name for
36+
either show the binary name being fuzzed, or the -M/-S main/secondary name for
3737
parallel fuzzing.
3838
Finally, the last item is the power schedule mode being run (default: explore).
3939

@@ -404,7 +404,7 @@ directory. This includes:
404404
- `var_byte_count` - how many edges are non-deterministic
405405
- `afl_banner` - banner text (e.g. the target name)
406406
- `afl_version` - the version of afl used
407-
- `target_mode` - default, persistent, qemu, unicorn, dumb
407+
- `target_mode` - default, persistent, qemu, unicorn, non-instrumented
408408
- `command_line` - full command line used for the fuzzing session
409409

410410
Most of these map directly to the UI elements discussed earlier on.

gcc_plugin/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ reports to <[email protected]>.
7171
## 4) Bonus feature #1: deferred initialization
7272

7373
AFL tries to optimize performance by executing the targeted binary just once,
74-
stopping it just before main(), and then cloning this "master" process to get
74+
stopping it just before main(), and then cloning this "main" process to get
7575
a steady supply of targets to fuzz.
7676

7777
Although this approach eliminates much of the OS-, linker- and libc-level

include/afl-fuzz.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -408,8 +408,8 @@ typedef struct afl_state {
408408
debug, /* Debug mode */
409409
custom_only, /* Custom mutator only mode */
410410
python_only, /* Python-only mode */
411-
is_master, /* if this is a master */
412-
is_slave; /* if this is a slave */
411+
is_main_node, /* if this is the main node */
412+
is_secondary_node; /* if this is a secondary instance */
413413

414414
u32 stats_update_freq; /* Stats update frequency (execs) */
415415

@@ -421,7 +421,7 @@ typedef struct afl_state {
421421

422422
u8 skip_deterministic, /* Skip deterministic stages? */
423423
use_splicing, /* Recombine input files? */
424-
dumb_mode, /* Run in non-instrumented mode? */
424+
non_instrumented_mode, /* Run in non-instrumented mode? */
425425
score_changed, /* Scoring for favorites changed? */
426426
resuming_fuzz, /* Resuming an older fuzzing job? */
427427
timeout_given, /* Specific timeout given? */
@@ -503,7 +503,7 @@ typedef struct afl_state {
503503
s32 stage_cur, stage_max; /* Stage progression */
504504
s32 splicing_with; /* Splicing with which test case? */
505505

506-
u32 master_id, master_max; /* Master instance job splitting */
506+
u32 main_node_id, main_node_max; /* Main instance job splitting */
507507

508508
u32 syncing_case; /* Syncing with case #... */
509509

@@ -916,7 +916,7 @@ u32 find_start_position(afl_state_t *);
916916
void find_timeout(afl_state_t *);
917917
double get_runnable_processes(void);
918918
void nuke_resume_dir(afl_state_t *);
919-
int check_master_exists(afl_state_t *);
919+
int check_main_node_exists(afl_state_t *);
920920
void setup_dirs_fds(afl_state_t *);
921921
void setup_cmdline_file(afl_state_t *, char **);
922922
void setup_stdio_file(afl_state_t *);

include/sharedmem.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ typedef struct sharedmem {
5353

5454
} sharedmem_t;
5555

56-
u8 * afl_shm_init(sharedmem_t *, size_t, unsigned char dumb_mode);
56+
u8 * afl_shm_init(sharedmem_t *, size_t, unsigned char non_instrumented_mode);
5757
void afl_shm_deinit(sharedmem_t *);
5858

5959
#endif

llvm_mode/README.persistent_mode.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The speed increase is usually x10 to x20.
5555
## 3) deferred initialization
5656

5757
AFL tries to optimize performance by executing the targeted binary just once,
58-
stopping it just before main(), and then cloning this "master" process to get
58+
stopping it just before main(), and then cloning this "main" process to get
5959
a steady supply of targets to fuzz.
6060

6161
Although this approach eliminates much of the OS-, linker- and libc-level

llvm_mode/afl-llvm-rt.o.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ static void __afl_start_snapshots(void) {
425425

426426
} else {
427427

428-
// uh this forkserver master does not understand extended option passing
428+
// uh this forkserver does not understand extended option passing
429429
// or does not want the dictionary
430430
if (!__afl_fuzz_ptr) already_read_first = 1;
431431

@@ -627,7 +627,7 @@ static void __afl_start_forkserver(void) {
627627

628628
} else {
629629

630-
// uh this forkserver master does not understand extended option passing
630+
// uh this forkserver does not understand extended option passing
631631
// or does not want the dictionary
632632
if (!__afl_fuzz_ptr) already_read_first = 1;
633633

qemu_mode/patches/afl-qemu-tcg-runtime-inl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ void HELPER(afl_cmplog_rtn)(CPUArchState *env) {
215215

216216
#else
217217

218-
// dumb code to make it compile
218+
// stupid code to make it compile
219219
void *ptr1 = NULL;
220220
void *ptr2 = NULL;
221221
return;

src/afl-common.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ char **get_qemu_argv(u8 *own_loc, u8 **target_path_p, int argc, char **argv) {
253253
"binaries that are\n"
254254
" instrumented at compile time with afl-gcc. It is also possible to "
255255
"use it as a\n"
256-
" traditional \"dumb\" fuzzer by specifying '-n' in the command "
256+
" traditional non-instrumented fuzzer by specifying '-n' in the command "
257257
"line.\n");
258258

259259
FATAL("Failed to locate 'afl-qemu-trace'.");
@@ -353,7 +353,7 @@ char **get_wine_argv(u8 *own_loc, u8 **target_path_p, int argc, char **argv) {
353353
"binaries that are\n"
354354
" instrumented at compile time with afl-gcc. It is also possible to "
355355
"use it as a\n"
356-
" traditional \"dumb\" fuzzer by specifying '-n' in the command "
356+
" traditional non-instrumented fuzzer by specifying '-n' in the command "
357357
"line.\n",
358358
ncp);
359359

src/afl-forkserver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ static u32 read_s32_timed(s32 fd, s32 *buf, u32 timeout_ms,
167167

168168
}
169169

170-
/* Internal forkserver for dumb_mode=1 and non-forkserver mode runs.
170+
/* Internal forkserver for non_instrumented_mode=1 and non-forkserver mode runs.
171171
It execvs for each fork, forwarding exit codes and child pids to afl. */
172172

173173
static void afl_fauxsrv_execv(afl_forkserver_t *fsrv, char **argv) {

src/afl-fuzz-bitmap.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -623,14 +623,14 @@ u8 save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
623623

624624
/* Timeouts are not very interesting, but we're still obliged to keep
625625
a handful of samples. We use the presence of new bits in the
626-
hang-specific bitmap as a signal of uniqueness. In "dumb" mode, we
627-
just keep everything. */
626+
hang-specific bitmap as a signal of uniqueness. In "non-instrumented"
627+
mode, we just keep everything. */
628628

629629
++afl->total_tmouts;
630630

631631
if (afl->unique_hangs >= KEEP_UNIQUE_HANG) { return keeping; }
632632

633-
if (likely(!afl->dumb_mode)) {
633+
if (likely(!afl->non_instrumented_mode)) {
634634

635635
#ifdef WORD_SIZE_64
636636
simplify_trace(afl, (u64 *)afl->fsrv.trace_bits);
@@ -698,7 +698,7 @@ u8 save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
698698

699699
if (afl->unique_crashes >= KEEP_UNIQUE_CRASH) { return keeping; }
700700

701-
if (likely(!afl->dumb_mode)) {
701+
if (likely(!afl->non_instrumented_mode)) {
702702

703703
#ifdef WORD_SIZE_64
704704
simplify_trace(afl, (u64 *)afl->fsrv.trace_bits);

0 commit comments

Comments
 (0)