[Bug 282168] vtnet(4): panic in if_attach_internal() when kldloading

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 19 Oct 2024 13:05:05 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282168

--- Comment #11 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=f4e35c044c8988b7452cefbdcc417f5fd723e021

commit f4e35c044c8988b7452cefbdcc417f5fd723e021
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2024-10-19 13:03:56 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2024-10-19 13:03:56 +0000

    bus: Set the current VNET in device_attach()

    Some drivers, in particular anything which creates an ifnet during
    attach, need to have the current VNET set, as if_attach_internal() and
    its callees access VNET-global variables.

    device_probe_and_attach() handles this, but this is not the only way to
    arrive in DEVICE_ATTACH.  In particular, bus drivers may invoke
    device_attach() directly, as does devctl2's DEV_ENABLE ioctl handler.
    So, set the current VNET in device_attach() instead.

    I believe it is always safe to use vnet0, as devctl2 ioctls are not
    permitted within a jail.

    PR:             282168
    Reviewed by:    zlei, kevans, bz, imp, glebius
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D47174

 sys/kern/subr_bus.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

-- 
You are receiving this mail because:
You are the assignee for the bug.