sys/qwz: avoid peer access after key waits
Do not retain a pointer into peer cipher state across key installation.
Installation can sleep while the peer is removed; dropping the failure
rollback avoids accessing freed peer memory.
OK: stsp@
sys/qwz: handle scan events during cancellation
Ignore late scan started events while cancellation is pending;
finish an aborting scan when firmware reports that startup failed.
OK: stsp@
sys/qwz: stop firmware scans on interface down
Based on sys/dev/ic/qwx.c,v 1.72
Abort firmware scans during interface stop, including scans still
starting; taer down started vdevs and remaining peers even when net80211
has not reached AUTH.
OK: stsp@
vmm(4): handle proper injection during mov ss/sti shadow on vmx
arm the interrupt window when we have something to inject but are in a mov ss
or sti interrupt shadow
ok dv
rpki-client: don't treat a duplicate CCR MFT as fatal
It is possible to concoct situations where two PPs serve byte identical
manifests. Then CCR generation errors with "CCR MFT tree corrupted".
Handle this situation gracefully and only warn about the weird situation.
There are more problems in the vicinity that need fixing but that's for
after the release.
Reported by eur1ka qq com. Diff is a tweaked version of the suggested fix.
ok job
sys/qwz: unwind cold startup failures
Based on sys/dev/ic/qwx.c,v 1.134
Track powerup and completed core initialization so failed cold starts
reset hardware before reclaiming initialized DMA resources. Release
partial TX allocations and RX rings; ordinary interface down and up
continues to retain firmware.
OK: stsp@
sys/qwz: skip uninitialized CE polling
Based on sys/dev/ic/qwx.c,v 1.135
Track successful CE initialization to decide whether completion
polling is valid; provide dircet TX buffer reclamation for cold
cleanup after hardware reset, when ring polling is no longer safe.
OK: stsp@
sys/qwz: retain HAL allocations on resume
Based on sys/dev/ic/qwx.c,v 1.97 and sys/dev/ic/qwx.c,v 1.136
Preserve HAL allocation pointers across reinitialization: reuse qwz
allocated ring configuration and claer retained pointer memory. On
failure, free only allocations made by the current attempt.
OK: stsp@
For allocations between half a page and a page (which are moved
towards the end) we don't clear the proper region with freezero().
Instead, the clearing is done from the start of the page. So fix that.
Reported by Acts1631
ok deraadt@