iflib:
authorsbruno <sbruno@FreeBSD.org>
Tue, 24 Jan 2017 16:05:42 +0000 (16:05 +0000)
committersbruno <sbruno@FreeBSD.org>
Tue, 24 Jan 2017 16:05:42 +0000 (16:05 +0000)
commita7222629cf731c5ecc2921b1824c1afdcc46152e
tree9081a04663c7c097dde795b637250d49431853f0
parent3c4045f226d0843a91c342556572aa5f80ca80e0
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
Reported 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