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: b...@freebsd.org
          Reporter: abo...@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.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to