---
name: "BUF_RECURSED"
section: "9"
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/BUF_RECURSED"
---

# BUF\_RECURSED(9)

checks if the lock linked to the buffer is recursed

## NAME

**BUF\_RECURSED** – checks if the lock linked to the buffer is recursed

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<sys/systm.h\>**

**#include \<sys/uio.h\>**

**#include \<sys/bio.h\>**

**#include \<sys/buf.h\>**

*int*\

**BUF\_RECURSED**(*struct buf \*bp*);

## DESCRIPTION

The **BUF\_RECURSED**() function checks if the lock linked to the given buffer is recursed and returns 1 if the condition is true, 0 otherwise.

Its argument is:

- *bp*

  The buffer linked to the lock. See [lockmgr\_recursed(9)](/lockmgr_recursed/9.md) for details.

## SEE ALSO

[buf(9)](/buf/9.md), [BUF\_LOCK(9)](/BUF_LOCK/9.md), [BUF\_UNLOCK(9)](/BUF_UNLOCK/9.md), [lockmgr(9)](/lockmgr/9.md)

## AUTHORS

This manual page was written by Attilio Rao ⟨*attilio@FreeBSD.org*⟩.
