diff --git a/Base/usr/share/man/man1/crash.md b/Base/usr/share/man/man1/crash.md index f0d8b451ea..9f49428e26 100644 --- a/Base/usr/share/man/man1/crash.md +++ b/Base/usr/share/man/man1/crash.md @@ -10,36 +10,36 @@ $ crash [options] ## Description -This program is used to test how the Serenity kernel handles -userspace crashes, and can be used to simulate many different -kinds of crashes. +This program is used to test how the Serenity kernel or UserspaceEmulator +handle userspace crashes, and can be used to simulate many different kinds +of crashes. ## Options -* `-A`: Test that all of the following crashes crash as intended. +* `-A`: Test that all of the following crash types crash as expected. * `-s`: Perform a segmentation violation by dereferencing an invalid pointer. * `-d`: Perform a division by zero. * `-i`: Execute an illegal CPU instruction. * `-a`: Call `abort()`. -* `-m`: Read a pointer from uninitialized memory, then read from it. +* `-m`: Read a pointer from uninitialized malloc memory, then read from it. * `-f`: Read a pointer from memory freed using `free()`, then read from it. -* `-M`: Read a pointer from uninitialized memory, then write to it. +* `-M`: Read a pointer from uninitialized malloc memory, then write to it. * `-F`: Read a pointer from memory freed using `free()`, then write to it. * `-r`: Write to read-only memory. * `-T`: Make a syscall while using an invalid stack pointer. * `-t`: Trigger a page fault while using an invalid stack pointer. * `-S`: Make a syscall from writeable memory. -* `-x`: Read from recently freed memory. (Tests an opportunistic malloc guard.) -* `-y`: Write to recently freed memory. (Tests an opportunistic malloc guard.) -* `-X`: Attempt to execute non-executable memory. (Not mapped with PROT\_EXEC.) +* `-X`: Attempt to execute non-executable memory (Not mapped with PROT\_EXEC). * `-U`: Attempt to trigger an x86 User Mode Instruction Prevention fault. * `-I`: Use an x86 I/O instruction in userspace. * `-c`: Read the x86 TSC (Time Stamp Counter) directly. +* `-p`: Violate `pledge()`'d promises. +* `-n`: Perform a failing assertion. ## Examples ```sh $ crash -F Testing: "Write to freed memory" -Shell: crash(33) exitied due to signal "Segmentation violation" +Shell: Job 1 (crash -F) Segmentation violation ```