3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-10-06 11:28:38 +02:00
iwd/src
Andrew Zaborowski 4e9dc77b2d scan: Cancel CMD_TRIGGER_SCAN when removing scan context
Save the ids of the netlink trigger scan commands that we send and
cancel them in scan_ifindex_remove to fix a race leading to a
segfault.  The segfault would happen every time if scan_ifindex_remove
was called in the same main loop iteration in which we sent the
command, on shutdown:

^CTerminate
src/netdev.c:netdev_free() Freeing netdev wlan3[6]
src/device.c:device_disassociated() 6
src/device.c:device_enter_state() Old State: connected, new state:
disconnected
src/device.c:device_enter_state() Old State: disconnected, new state:
autoconnect
src/scan.c:scan_periodic_start() Starting periodic scan for ifindex: 6
src/device.c:device_free()
src/device.c:bss_free() Freeing BSS 02:00:00:00:00:00
src/device.c:bss_free() Freeing BSS 02:00:00:00:01:00
Removing scan context for ifindex: 6
src/scan.c:scan_context_free() sc: 0x5555557ca290
src/scan.c:scan_notify() Scan notification 33
src/netdev.c:netdev_operstate_down_cb() netdev: 6, success: 1
src/scan.c:scan_periodic_done()
src/scan.c:scan_periodic_done() Periodic scan triggered for ifindex:
1434209520

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000064 in ?? ()
(gdb) bt
 #0  0x0000000000000064 in ?? ()
 #1  0x0000555555583560 in process_unicast (nlmsg=0x7fffffffc1a0,
     genl=0x5555557c1d60) at ell/genl.c:390
 #2  received_data (io=<optimized out>, user_data=0x5555557c1d60)
     at ell/genl.c:506
 #3  0x0000555555580d45 in io_callback (fd=<optimized out>,
     events=1, user_data=0x5555557c1e60) at ell/io.c:120
 #4  0x000055555558005f in l_main_run () at ell/main.c:381
 #5  0x00005555555599c1 in main (argc=<optimized out>, argv=<optimized out>)
     at src/main.c:259
2017-02-02 12:28:28 -06:00
..
agent.c dbus: Switch to using org.freedesktop.DBus.Properties 2016-09-21 16:46:34 -05:00
agent.h agent: Add reason parameter to Cancel 2016-06-10 09:26:56 -05:00
backtrace.c main: Add backtracing support 2016-04-13 14:08:10 -05:00
backtrace.h main: Add backtracing support 2016-04-13 14:08:10 -05:00
common.c common: Add security_from_str 2016-06-08 11:08:10 -05:00
common.h common: Add security_from_str 2016-06-08 11:08:10 -05:00
crypto.c crypto: Implement crypto_derive_ft_ptk 2016-09-06 13:50:17 -05:00
crypto.h crypto: Add AKMs 2016-11-15 15:39:55 -06:00
dbus.c build: Remove support for usage of kdbus 2016-10-16 19:41:27 +02:00
dbus.h build: Remove support for usage of kdbus 2016-10-16 19:41:27 +02:00
device.c scan: Add flag to flush case when starting a scan 2017-01-31 12:39:16 -06:00
device.h device: Start a roaming attempt on low RSSI detection 2017-01-18 17:27:35 -06:00
eap-md5.c eap: Extract md5 logic into eap-md5.c 2016-11-21 11:08:50 -06:00
eap-mschapv2.c mschapv2: Call set_key_material last in handle_success 2017-01-06 13:22:05 -06:00
eap-mschapv2.h eap-mschap: Add crypto functions for mschapv2 2016-12-14 22:46:18 -06:00
eap-tls.c eap-tls: Fix msg size miscalculation 2016-11-03 22:19:46 -05:00
eap-ttls.c eap-ttls: Fix msg size miscalculation 2016-11-07 16:27:26 -06:00
eap-wsc.c eap-wsc: Add re-transmission handler for WSC 2016-12-01 11:33:03 -06:00
eap-wsc.h eap-wsc: Send credential obtained events 2016-09-13 13:32:47 -05:00
eap.c eap: Add retransmission support 2016-11-30 12:44:13 -06:00
eap.h eap-mschapv2: add code for eap method 2016-12-14 22:56:56 -06:00
eapol.c eapol: Don't start timeout if handshake already done 2017-01-31 15:47:23 -06:00
eapol.h eapol: Use handshake_state to store state 2016-11-03 10:23:58 -05:00
ftutil.c netdev: Handle the FT Authentication Response message 2017-01-12 10:33:40 -06:00
ftutil.h netdev: Handle the FT Authentication Response message 2017-01-12 10:33:40 -06:00
handshake.c handshake: Use align_len macro 2017-01-31 12:04:26 -06:00
handshake.h handshake: Add utility for decoding GTK & IGTK from FTE 2017-01-31 12:00:38 -06:00
ie.c ie: Parse GTK and IGTK subelements in FTE 2017-02-01 10:02:14 -06:00
ie.h ie: Parse GTK and IGTK subelements in FTE 2017-02-01 10:02:14 -06:00
iwd-dbus.conf src: Rename dbus config. file 2016-10-24 11:10:23 -05:00
iwd.conf src: Introduce iwd.conf 2016-10-24 11:10:26 -05:00
iwd.h iwd: Add accessor for iwd_config 2016-11-02 15:44:19 -05:00
knownnetworks.c dbus: Switch to using org.freedesktop.DBus.Properties 2016-09-21 16:46:34 -05:00
knownnetworks.h knownnetworks: Implement KnownNetworks interface 2016-06-21 11:41:37 -05:00
main.c eap: Load MTU settings from iwd.conf 2016-11-15 16:44:07 -06:00
mpdu.c mpdu: fix transaction_sequence byte-ordering 2015-01-22 12:41:10 -06:00
mpdu.h wiphy: Move reason codes to mpdu.h 2015-03-29 20:27:57 -05:00
netdev.c netdev: Handle the GTK & IGTK received in a FT 2017-02-01 10:02:24 -06:00
netdev.h netdev: More neighbor_report_req error handling 2017-01-23 12:59:42 -06:00
network.c wiphy: Add utility to check if bss ciphers compatible 2017-01-20 15:42:31 -06:00
network.h network: Add network_set_psk 2016-09-21 16:20:09 -05: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
scan.c scan: Cancel CMD_TRIGGER_SCAN when removing scan context 2017-02-02 12:28:28 -06:00
scan.h scan: Add flag to flush case when starting a scan 2017-01-31 12:39:16 -06:00
storage.c storage: Return const char * 2016-06-10 09:59:59 -05:00
storage.h storage: Return const char * 2016-06-10 09:59:59 -05:00
util.c util: Remove unused msg_append_attr functions 2017-01-31 11:48:50 -06:00
util.h util: Add align_len macro 2017-01-31 11:50:06 -06:00
watchlist.c watchlist: Make re-entrant safe 2016-09-22 15:28:29 -05:00
watchlist.h watchlist: Make re-entrant safe 2016-09-22 15:28:29 -05:00
wiphy.c wiphy: Add utility to check if bss ciphers compatible 2017-01-20 15:42:31 -06:00
wiphy.h wiphy: Add utility to check if bss ciphers compatible 2017-01-20 15:42:31 -06:00
wsc.c device: Start a roaming attempt on low RSSI detection 2017-01-18 17:27:35 -06:00
wsc.h wsc: Squash wsc_sm structure 2016-09-13 14:53:30 -05:00
wscutil.c wscutil: Change type for va_args for clang 2016-12-19 11:03:00 -06:00
wscutil.h wsc: Record credentials obtained from EAP-WSC 2016-09-21 13:51:11 -05:00