---
name: "rcu_read_lock_bh_held"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/rcu_read_lock_bh_held"
---

# rcu\_read\_lock\_bh\_held(9)

might we be in RCU-bh read-side critical section?

## NAME

rcu\_read\_lock\_bh\_held - might we be in RCU-bh read-side critical section?

## SYNOPSIS

**int rcu\_read\_lock\_bh\_held(***void***);**

## ARGUMENTS

*void*

no arguments

## DESCRIPTION

Check for bottom half being disabled, which covers both the CONFIG\_PROVE\_RCU and not cases. Note that if someone uses **rcu\_read\_lock\_bh**, but then later enables BH, lockdep (if enabled) will show the situation. This is useful for debug checks in functions that require that they be called within an RCU read-side critical section.

Check **debug\_lockdep\_rcu\_enabled** to prevent false positives during boot.

Note that **rcu\_read\_lock** is disallowed if the CPU is either idle or offline from an RCU perspective, so check for those as well.

## COPYRIGHT
