Skip to content

Commit

Permalink
Base: Update crash(1) man page
Browse files Browse the repository at this point in the history
Update the outdated list of options, mention UserspaceEmulator, update
example shell output.
  • Loading branch information
linusg authored and awesomekling committed Jan 26, 2021
1 parent f3f2d77 commit 22df472
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions Base/usr/share/man/man1/crash.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

0 comments on commit 22df472

Please sign in to comment.