3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-11-30 06:39:46 +01:00
iwd/src
James Prestwood e4f22f0a5d ap: fix crash when stopping AP
The AP structure was getting cleaned up twice. When the DBus stop method came
in we do AP_STOP on nl80211. In this callback the AP was getting freed in
ap_reset. Also when the DBus interface was cleaned up it triggered ap_reset.

Since ap->started gets set to false in ap_reset, we now check this and bail
out if the AP is already stopped.

Fixes:
++++++++ backtrace ++++++++
0  0x7f099c11ef20 in /lib/x86_64-linux-gnu/libc.so.6
1  0x43fed0 in l_queue_foreach() at ell/queue.c:441 (discriminator 3)
2  0x423a6c in ap_reset() at src/ap.c:140
3  0x423b69 in ap_free() at src/ap.c:162
4  0x44ee86 in interface_instance_free() at ell/dbus-service.c:513
5  0x451730 in _dbus_object_tree_remove_interface() at ell/dbus-service.c:1650
6  0x405c07 in netdev_newlink_notify() at src/netdev.c:4449 (discriminator 9)
7  0x440775 in l_hashmap_foreach() at ell/hashmap.c:534
8  0x4455d3 in process_broadcast() at ell/netlink.c:158
9  0x4439b3 in io_callback() at ell/io.c:126
10 0x442c4e in l_main_iterate() at ell/main.c:473
11 0x442d1c in l_main_run() at ell/main.c:516
12 0x442f2b in l_main_run_with_signal() at ell/main.c:644
13 0x403ab3 in main() at src/main.c:504
14 0x7f099c101b97 in /lib/x86_64-linux-gnu/libc.so.6
+++++++++++++++++++++++++++
2019-01-25 18:51:18 -06:00
..
adhoc.c adhoc: wait for both handshakes before adding peer 2018-10-26 15:29:48 -05:00
adhoc.h adhoc: implement setting TX GTK 2018-10-08 21:38:30 -05:00
agent.c agent: Add new request types 2018-04-19 11:49:41 -05:00
agent.h agent: Add new request types 2018-04-19 11:49:41 -05:00
ap.c ap: fix crash when stopping AP 2019-01-25 18:51:18 -06:00
ap.h device: added DEVICE_EVENT_MODE_CHANGED 2018-07-17 18:52:59 -05:00
backtrace.c build: only enable backtrace(3) in maintainer mode 2018-11-26 14:32:04 -06:00
backtrace.h build: only enable backtrace(3) in maintainer mode 2018-11-26 14:32:04 -06:00
blacklist.c blacklist: add blacklist.[ch] to build and main 2019-01-24 17:29:15 -06:00
blacklist.h blacklist: add blacklist.[ch] to build and main 2019-01-24 17:29:15 -06:00
common.c common: Classify OWE networks as open 2018-11-16 16:59:59 -06:00
common.h scan: Move scan_get_security to common.c 2018-05-24 19:22:16 -05:00
crypto.c crypto: Optimize hkdf_expand slightly 2019-01-22 11:40:07 -06:00
crypto.h crypto: allow hkdf_expand/extract to use different SHA's 2019-01-17 15:20:28 -06:00
dbus.c dbus: Remove unneeded include 2018-10-19 00:20:35 -05:00
dbus.h main: Don't init nl80211 until dbus name is owned 2018-09-11 20:06:00 -05:00
device.c device: Restore device Powered state 2018-11-29 11:34:07 -06:00
device.h station: Move remaining connect/re-connect/roam logic 2018-09-04 23:57:14 -05:00
eap-aka.c build: Fix includes for using with -std=c99 compiler option 2018-11-01 22:37:11 +01:00
eap-gtc.c eap-gtc: Warn if deprecated setting is used 2018-10-25 14:25:28 -05:00
eap-md5.c eap-md5: Add warning about deprecated settings key 2018-10-29 18:49:19 -05:00
eap-mschapv2.c eap-mschapv2: Warn if required fields are missing 2019-01-10 17:12:55 -06:00
eap-mschapv2.h mschaputil: Move mschapv2 funcs into common util 2019-01-10 16:48:45 -06:00
eap-peap.c eap-peap: Migrate to eap-tls-common framework 2018-12-05 22:31:17 -06:00
eap-private.h eap: Add accessors for the method name and type 2018-11-19 17:10:53 -06:00
eap-pwd.c crypto: allow hkdf_expand/extract to use different SHA's 2019-01-17 15:20:28 -06:00
eap-sim.c build: Fix includes for using with -std=c99 compiler option 2018-11-01 22:37:11 +01:00
eap-tls-common.c eap-tls-common: Call the new l_tls_start 2018-12-19 10:05:35 -06:00
eap-tls-common.h eap-tls-common: Make databuf private 2018-12-11 17:09:51 -06:00
eap-tls.c eap-tls: Check AP identity in tls ready callbck 2018-12-10 12:04:56 -06:00
eap-ttls.c eap-ttls: Add tunneled MSCHAPv2 support 2019-01-10 17:26:19 -06:00
eap-wsc.c eap-wsc: Use new l_key DH helper functions 2019-01-14 15:20:50 -06:00
eap-wsc.h eap-wsc: Send credential obtained events 2016-09-13 13:32:47 -05:00
eap.c eap: Make Identity optional 2019-01-11 17:36:33 -06:00
eap.h eap: Add secret cache policy types 2018-08-08 19:43:05 -05:00
eapol.c eapol: use HMAC-SHA384 for OWE in MIC calculation 2019-01-17 15:20:28 -06:00
eapol.h eapol: allow 16, 24 and 32 byte MIC lengths 2019-01-17 15:20:28 -06:00
eapolutil.c eapol: allow 16, 24 and 32 byte MIC lengths 2019-01-17 15:20:28 -06:00
eapolutil.h eapol: allow 16, 24 and 32 byte MIC lengths 2019-01-17 15:20:28 -06:00
ftutil.c crypto/handshake/eapol: Allow other PTK lengths 2019-01-17 15:20:28 -06:00
ftutil.h netdev: Handle the FT Authentication Response message 2017-01-12 10:33:40 -06:00
genbuiltin make: plugin system for build 2017-11-28 13:20:33 -06:00
handshake.c handshake: add OWE to get_ptk_size 2019-01-17 15:20:28 -06:00
handshake.h crypto/handshake/eapol: Allow other PTK lengths 2019-01-17 15:20:28 -06:00
ie.c ie: add OWE AKM type 2018-11-16 16:59:45 -06:00
ie.h ie: add OWE AKM type 2018-11-16 16:59:45 -06:00
iwd-dbus.conf tools: Add configure option and D-Bus policy file for hwsim utility 2018-09-14 15:24:15 +02:00
iwd.h main: Don't init nl80211 until dbus name is owned 2018-09-11 20:06:00 -05:00
iwd.service.in iwd.service: restart service on crash 2018-11-26 14:38:07 -06:00
knownnetworks.c knownnetworks: Use full include path local includes 2018-10-26 21:30:44 +02:00
knownnetworks.h knownnetworks: move known_networks_init/exit to iwd.h 2018-08-14 13:36:48 -05:00
main.c blacklist: add blacklist.[ch] to build and main 2019-01-24 17:29:15 -06:00
mpdu.c mpdu: Fix buffer overflow reported by asan 2019-01-11 11:43:21 -06:00
mpdu.h mpdu: Also update comment to reflect 2016 spec 2018-08-07 17:23:26 -05:00
mschaputil.c mschaputil: Move generator of the hash of the pwd hash 2019-01-10 17:09:10 -06:00
mschaputil.h mschaputil: Move generator of the hash of the pwd hash 2019-01-10 17:09:10 -06:00
net.connman.iwd.service net.connman.iwd.service: Change SystemdService name to iwd.service 2018-08-09 10:45:16 -05:00
netdev.c netdev: store mpdu status and add getter 2019-01-24 16:54:39 -06:00
netdev.h netdev: store mpdu status and add getter 2019-01-24 16:54:39 -06:00
network.c network: Reset connected_time when forgetting 2019-01-11 17:28:10 -06:00
network.h network: Don't require PSK if Passphrase present 2018-11-05 12:43:16 -06:00
nl80211util.c build: Rename nl80211_util.[ch] into nl80211util.[ch] 2018-10-14 05:41:06 +02:00
nl80211util.h build: Rename nl80211_util.[ch] into nl80211util.[ch] 2018-10-14 05:41:06 +02:00
owe.c owe: allow group 20 + group negotiation 2019-01-17 15:24:56 -06:00
owe.h owe: added OWE module 2018-11-16 18:06:42 -06:00
pkcs8.conf build: Provide modules-load.d for loading pkcs8_key_parser module 2019-01-23 18:22:11 +01:00
plugin.c plugins: module to load ell plugins 2017-11-28 13:30:06 -06:00
plugin.h plugins: module to load ell plugins 2017-11-28 13:30:06 -06:00
rfkill.c rfkill: Fix wiphy ID lookup 2016-07-20 15:29:39 -05:00
rfkill.h Add rfkill enable/disable and watch support 2016-07-07 13:21:08 -05:00
sae.c crypto: allow hkdf_expand/extract to use different SHA's 2019-01-17 15:20:28 -06:00
sae.h sae: implementation 2018-08-13 20:40:59 -05:00
scan.c scan: Enable the usage of MAC randomization flag 2019-01-16 13:02:25 -06:00
scan.h scan: Drop the wiphy_id scan callback parameter 2018-12-04 10:36:17 -06:00
simauth.c simauth: Use full include path local includes 2018-10-26 21:34:58 +02:00
simauth.h main: Simplify sim_auth_init 2018-07-17 19:12:48 -05:00
simutil.c simauth: Use full include path local includes 2018-10-26 21:34:58 +02:00
simutil.h eap: Separate private bits into eap-private.h 2018-06-14 20:01:19 -05:00
station.c station: Default to active scan if MAC randomization is present 2019-01-16 15:05:38 -06:00
station.h station: Make station_create/station_free static 2018-09-24 14:07:03 -05:00
storage.c build: Fix includes for using with -std=c99 compiler option 2018-11-01 22:37:11 +01:00
storage.h build: Fix includes for using with -std=c99 compiler option 2018-11-01 22:37:11 +01:00
util.c util: Only include <ell/ell.h> and use full include path 2018-10-26 21:24:20 +02:00
util.h build: Fix includes for using with -std=c99 compiler option 2018-11-01 22:37:11 +01:00
watchlist.c watchlist: Use full include path local includes 2018-10-26 21:33:01 +02:00
watchlist.h watchlist: fix stale watchlist item processing 2018-09-19 14:17:26 -05:00
wiphy.c wiphy: Add MAC randomization feature check API 2019-01-16 13:01:12 -06:00
wiphy.h wiphy: Add MAC randomization feature check API 2019-01-16 13:01:12 -06:00
wsc.c scan: Drop the wiphy_id scan callback parameter 2018-12-04 10:36:17 -06:00
wscutil.c wscutil: Use full include path local includes 2018-10-26 21:33:38 +02:00
wscutil.h wscutil: Add wsc_pin_generate 2017-02-17 12:27:13 -06:00