---
name: "dtrace_priv"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/dtrace_priv"
---

# dtrace\_priv(4)

a DTrace provider for the kernel privilege checking API

## NAME

**dtrace\_priv** – a DTrace provider for the kernel privilege checking API

## SYNOPSIS

**priv****:kernel:priv\_check:priv-ok**

**priv****:kernel:priv\_check:priv-err**

## DESCRIPTION

The **priv** provider allows for tracing the [priv(9)](/priv/9.md) API.

The **priv****:kernel:priv\_check:priv-ok** probe fires upon a successful kernel privilege check.

The **priv****:kernel:priv\_check:priv-err** probe fires upon a failed kernel privilege check.

The only argument to the **priv** probes, *args\[0\]*, is the requested privilege number *int* *priv*.

## EXAMPLES

### Example 1: Tracing Kernel Privilege Check Failures

The following script captures an array of counters, one for each stack trace leading to a failed kernel privilege check:

```
priv:::priv-err
{
	@traces[stack()] = count();
}
```

## SEE ALSO

[dtrace(1)](/dtrace/1.md), [tracing(7)](/tracing/7.md), [priv(9)](/priv/9.md), [SDT(9)](/SDT/9.md)

## AUTHORS

The **priv** provider was written by Robert N. M. Watson ⟨*rwatson@FreeBSD.org*⟩.

This manual page was written by Mateusz Piotrowski ⟨*0mp@FreeBSD.org*⟩.
