iflib:
authorsbruno <sbruno@FreeBSD.org>
Tue, 24 Jan 2017 14:48:32 +0000 (14:48 +0000)
committersbruno <sbruno@FreeBSD.org>
Tue, 24 Jan 2017 14:48:32 +0000 (14:48 +0000)
commitdd1dc0f03964e7b9f999db577f738ed9cb490ae5
tree3a2dca5e2ac8088ca1afebc0f9f874e653ca3d13
parent59fcc4d0fa95b34abe4514569ba94241b80033f3
iflib:
   Add internal tracking of smp startup status to reliably figure out
   what methods are to be used to get gtaskqueue up and running.

e1000:
   Calculating this pointer gives undefined behaviour when (last == -1)
   (it is before the buffer).  The pointer is always followed.  Panics
   occurred when it points to an unmapped page.  Otherwise, the pointed-to
   garbage tends to not have the E1000_TXD_STAT_DD bit set in it, so in the
   broken case the loop was usually null and the function just returned, and
   this was acidentally correct.

Submitted by: bde
Reviewed by: Matt Macy <mmacy@nextbsd.org>
sys/dev/e1000/em_txrx.c
sys/kern/subr_gtaskqueue.c
sys/net/iflib.c
sys/sys/gtaskqueue.h