[Bug 110284] [if_ethersubr] Invalid Assumption in SIOCSIFADDR in ether_ioctl()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 08 Jun 2026 03:16:46 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=110284
--- Comment #8 from Zhenlei Huang <zlei@FreeBSD.org> ---
Note that, the `IFF_DRV_RUNNING ` flag is a driver managed flag. It should be
read or written under driver managed lock. It is encouraged to handle the
running state in the driver, typically the `ifp->if_init()` routine, rather
than in the net stack.
Many many drivers already have this ( similar ) logic in the init routine,
```
foo_init(sc)
{
foo_driver_lock(sc);
foo_init_locked(sc);
foo_driver_unlock(sc);
}
foo_init_locked(sc)
{
assert_foo_driver_locked(sc);
if (ifp->if_drv_flags & IFF_DRV_RUNNING != 0)
return;
/* handle hw init */
....
/* ready */
ifp-> if_drv_flags |= IFF_DRV_RUNNING;
}
```
So this patch is not relevant anymore.
See also change https://cgit.freebsd.org/src/commit/?id=879773c18b50 which did
the opposite to this patch.
--
You are receiving this mail because:
You are the assignee for the bug.