Page MenuHomeFreeBSD

Enter a write sequence when updating rights.
ClosedPublic

Authored by markj on Mar 18 2020, 9:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 17, 8:03 AM
Unknown Object (File)
Dec 21 2023, 12:35 PM
Unknown Object (File)
Dec 20 2023, 5:55 AM
Unknown Object (File)
Dec 19 2023, 7:06 PM
Unknown Object (File)
Nov 20 2023, 3:29 AM
Unknown Object (File)
Nov 11 2023, 7:45 PM
Unknown Object (File)
Nov 6 2023, 7:09 AM
Unknown Object (File)
Nov 1 2023, 12:43 AM
Subscribers

Details

Summary

The Capsicum system calls modify file descriptor table entries. To
ensure that readers observe a consistent snapshot of descriptor writes,
the system calls need to signal to unlocked readers that an update is
pending. This is particularly true on systems that do not write 64-bit
values atomically.

Note that ioctl rights are always checked with the descriptor table lock
held, so it is not strictly necessary to signal unlocked readers.
However, we probably want to enable lockless ioctl checks eventually, so
use seqc_write_begin() in kern_cap_ioctls_limit() too.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 30002
Build 27815: arc lint + arc unit