Page MenuHomeFreeBSD

initialize the STATE_LOCK in iflib_register

Authored by on Sep 5 2019, 10:32 PM.



r347197 contained an MFC for r332389, adding the STATE_LOCK to the iflib
core driver. Unfortunately, the commit accidentally missed adding the

Without this, if you build a STABLE-11 kernel with INVARIANTS enabled,
any mtx_lock of the state lock will result in a panic:

panic: mtx_lock() of spin mutex (null) @ /usr/src/sys/net/iflib.c:5522

It actually ends up looking like a panic due to taking a spin mutex when
we could be interrupted. However, the real cause is because the lock
class was never initialized.

Initialize the STATE_LOCK properly during iflib_register to fix this.

Diff Detail

rS FreeBSD src repository - subversion
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

This is specifically a fix for 11-STABLE. It's already fixed in CURRENT and STABLE-12. It looks like it was an accidental miss in MFC for STABLE-11 a few months ago.

This revision is now accepted and ready to land.Sep 9 2019, 6:03 PM
This revision was automatically updated to reflect the committed changes.