Page MenuHomeFreeBSD

iflib: Remove redundant VLAN events deregistration
ClosedPublic

Authored by piotr.pietruszewski_intel.com on Sep 19 2019, 9:20 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 24, 7:45 AM
Unknown Object (File)
Wed, Apr 24, 1:05 AM
Unknown Object (File)
Jan 16 2024, 6:46 PM
Unknown Object (File)
Dec 20 2023, 1:40 AM
Unknown Object (File)
Dec 19 2023, 2:49 AM
Unknown Object (File)
Dec 10 2023, 11:13 PM
Unknown Object (File)
Nov 10 2023, 6:06 PM
Unknown Object (File)
Nov 8 2023, 6:16 PM
Subscribers

Details

Summary

r351152 introduced iflib_deregister() function calling
EVENTHANDLER_DEREGISTER() to unregister VLAN events. This patch removes
duplicate of EVENTHANDLER_DEREGISTER() calls placed in
iflib_device_deregister() as this function is now calling
iflib_deregister(). This is to avoid deregistering same event twice.

This patch also adds check in iflib_vlan_register() to prevent
registering VLAN while being in detach.

Patch co-authored by Krzysztof Galazka <krzysztof.galazka@intel.com>,
erj <erj@FreeBSD.org> and Jacob Keller <jacob.e.keller@intel.com>.

Signed-off-by: Piotr Pietruszewski <piotr.pietruszewski@intel.com>

Test Plan

Before applying this patch, kernel panic should be observed after issuing:

for i in {1..10}; do kldunload if_ix; kldload if_ix; done

Usually, less than 10 cycles are needed to trigger the panic. After applying
the patch, panic should be gone.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 26563
Build 24951: arc lint + arc unit