HomeFreeBSD

wpa/hostapd: Fix 100% CPU when USB wlan NIC removed

Description

wpa/hostapd: Fix 100% CPU when USB wlan NIC removed

hostapd calls pcap_next(3) to read the next packet off the wlan interface.
pcap_next() returns a pointer to the packet header but does not indicate
success or failure. Unfortunately this results in an infinite loop (100%
CPU) when the wlan device disappears, i.e. when a USB wlan device is
manually removed or a USB error results in the device removal. However
pcap_next_ex(3) does return success or failure. To resolve this we use
pcap_next_ex(), forcing hostapd to exit when the error is encountered.

An error message is printed to syslog or stderr when debugging (-d flag)
is enabled. Unfortunately wpa_printf() only works when debugging is enabled.

PR: 253608
Reported by: Damjan Jovanovic <damjan.jov@gmail.com>,

		bz (privately)

(cherry picked from commit 6e5d01124fd4dd57899ddd9260c76dbb43543aa7)

Details

Provenance
cyAuthored on Apr 3 2022, 3:54 AM
Parents
rG8f89382e0fd6: share/mk heimdal: Remove unnecessary trailing backslash
Branches
Unknown
Tags
Unknown