[Bug 242272] LinuxKPI combines all RCU and SRCU domains together, leading to deadlock
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Wed Nov 27 18:57:22 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242272
Bug ID: 242272
Summary: LinuxKPI combines all RCU and SRCU domains together,
leading to deadlock
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: aboyer at pensando.io
In that other OS, all RCU code is in the one domain, and each SRCU user gets
its own domain. (More or less.) They are all combined together in FreeBSD since
it has only a bare-bones implementation in the KPI.
This is a problem because ib_uverbs holds an SRCU read lock when calling into
the provider's destroy_cq function. Providers may expect to be able to use RCU
primitives when tearing down, but calling synchronize_rcu() or
synchronize_srcu() will lead to a deadlock, even on a completely separate SRCU
domain.
To fix this will require adding real multiple-domain support to the KPI.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list