Page MenuHomeFreeBSD

buf: Relax an assertion in BUF_UNLOCK
ClosedPublic

Authored by markj on Sat, Feb 21, 4:51 PM.
Tags
None
Referenced Files
F146108560: D55418.id172390.diff
Fri, Feb 27, 9:35 PM
Unknown Object (File)
Mon, Feb 23, 9:56 PM
Unknown Object (File)
Mon, Feb 23, 9:55 PM
Unknown Object (File)
Mon, Feb 23, 9:55 PM
Unknown Object (File)
Mon, Feb 23, 9:22 PM
Unknown Object (File)
Sat, Feb 21, 5:01 PM
Subscribers

Details

Summary

The BUF_UNLOCK macro asserts that B_REMFREE is not set, as it is up to
the lock owner to complete the dequeue from the free list before
releasing the lock. However, if the thread has acquired the lock
multiple times, then releasing the recursive lock should be ok. Modify
the assertion to reflect this.

This was triggered by an out-of-tree filesystem.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable