qwx: fall back to world channels if the regulatory event fails
If the first regulatory channel list event cannot be processed, qwx
attaches with an empty channel list and cannot scan. Populate the
ath11k world channel set in that case. Unlike qwz, keep channels an
earlier event configured, and leave ieee80211_channel_init() to
qwx_init() as before.
From qwz 6f139a5bd.
OK stsp@
qwx: parse the regulatory ext channel list event
Replace the stub with the 2 GHz/5 GHz part of ath11k's parser. 6 GHz
rules, including any the firmware appends to the 5 GHz list, are
ignored. Firmware only sends this event if the host advertises
WMI_CFG_HOST_SERVICE_FLAG_REG_CC_EXT, which qwx does not do yet.
From qwz 901b347bb.
OK stsp@
sys/qwz: include RX padding in length checks
The shared RX handler strips the descriptor and L3 padding before
setting the packet length. Include both in the bound, matching the
WBM null-queue path.
OK: stsp@
sys/qwz: retain active key task arguments
Remove active key operations from the pending queue before waiting
for firmware, retaining their node reference and a local key copy.
Recheck association state after waits before updating key state or
marking the port valid.
OK: stsp@
don't mix silicon debug test with fast strings
fixes a mistake introduced when code was moved into cpu_fix_msrs()
in cpu.c rev 1.160
from daniel@, ok deraadt@
libcrypto: avoid undefined behavior with zero-length buffers
Avoid UBSan failures caused by null pointers in zero-length operations.
- Avoid zero-offset arithmetic on null BIGNUM data
- Return early for zero-length BIGNUM output
- Avoid passing a null destination to strlcpy
- Skip memcmp for empty test vectors
ok beck
Report invalid base64 BIO state as an internal error
The base64 BIO filter uses OPENSSL_assert() for several internal buffer
state checks. OPENSSL_assert() calls OpenSSLDie() on failure, which
terminates the process instead of returning an error to the caller.
Replace these assertions with explicit checks that raise
ERR_R_INTERNAL_ERROR on the BIO error queue and return an error from
b64_read(), b64_write(), or b64_ctrl(). This preserves the internal state
checks while allowing callers to handle the failure through the BIO API.
ok tb joshua beck