User Details
- User Since
- Apr 1 2021, 3:21 AM (210 w, 15 h)
Today
Removed local var change.
Tue, Mar 25
Sun, Mar 23
Fri, Mar 21
This is still WIP, but I want it open for discussing. ifnet_byindex() is renamed to ifnet_byindex_ori() only to show clearly all its usage. Will not be in the final revision.
This may conflict with your local work ~
Thu, Mar 20
Wed, Mar 19
Tue, Mar 18
Well I though that it is the best result that the system panics when hitting this bug, but I was wrong.
Yeah, I think I have checked that carefully. For this case, I checked the usage of if_unroute() from -current to stable/8.
Yes. This is only part of the fix. Still working on it yet. Found other paths to crash to kernel.
Looks good to me.
Fri, Mar 14
This depends on D49357 .
This is only the partial fix. I'm cleaning up the NET_EPOCH_ENTER / NET_EPOCH_EXIT and trying to find out all possible the races.
Those sysctl handlers copy in a pair of sockaddr_in[6] ( pointed by req->newptr) and copy out the xucred, so what's the point of a NULL req->newptr ? Maybe an error EINVAL is better than 0 ?
Thu, Mar 13
Looks good to me.
Mar 10 2025
Mar 7 2025
Mar 6 2025
I had a look at the implementation of epoch_wait_preempt() and epoch_enter_preempt().
Previous work D45690 by @takahiro.kurosawa_gmail.com . That is IMHO brute force and may relief the issue, but the net stack will have to check the unstable state of ifp a lot.
I think the root cause is, thread A NET_EPOCH_WAIT() does not block thread B's NET_EPOCH_ENTER(). Well the net epoch does protect the liveness of ifp, but it does not guard ifp's state from been changed. For example the two threads execute in the following sequence,
Mar 5 2025
Mar 4 2025
Looks good to me.
Just a reminder, the commit message should be revised as well.
This appears to be the same with https://bugs.freebsd.org/279653 .
That is a perfect valid usage.
Mar 3 2025
Mar 2 2025
D47174 is a better fix.
IPv6 packets can be routed via an IPv4 nexthop
IIRC that has not been implemented / supported yet, as IPv6 has much richer addresses, e.g., IPv6 via IPv6 LL nexthop, we do not need IPv6 via IPv4 nexthop.
Feb 28 2025
Landed as 90953d2f829a .
Landed as 449496eb28da .
Feb 27 2025
panic: bpfread: lost bd_hbuf