hostap/src/drivers
Masashi Honma 7813b7c34d nl80211: Fix a memory leak on deinit with HT enabled mesh
Commit a70cd0db87 ('nl80211: Don't
register for Beacon frames for IEEE 802.11ad AP') could cause a trailing
memory leak on IEEE 802.11n enabled mesh. This commit fixes the issue.

-----------------
ELOOP: remaining socket: sock=12 eloop_data=0xba8260 user_data=0xbb3d90 handler=0x4aeb90
WPA_TRACE: eloop unregistered socket handler: 0x4aeb90
     nl80211_recv_beacons() ../src/drivers/driver_nl80211.c:625
WPA_TRACE: eloop sock - START
[0]: ./hostap/wpa_supplicant/wpa_supplicant() [0x431f2a]
     eloop_sock_table_add_sock() ../src/utils/eloop.c:360
[1]: ./hostap/wpa_supplicant/wpa_supplicant() [0x4b0e49]
     nl80211_register_eloop_read() ../src/drivers/driver_nl80211.c:153
[2]: ./hostap/wpa_supplicant/wpa_supplicant() [0x4bacf0]
     dl_list_add() src/utils/list.h:30
     nl80211_get_wiphy_data_ap() ../src/drivers/driver_nl80211.c:728
     wpa_driver_nl80211_set_ap() ../src/drivers/driver_nl80211.c:3786
[3]: ./hostap/wpa_supplicant/wpa_supplicant(ieee802_11_set_beacon+0x150) [0x469700]
     ieee802_11_set_beacon() ../src/ap/beacon.c:1349
[4]: ./hostap/wpa_supplicant/wpa_supplicant(ieee802_11_set_beacons+0x45) [0x469805]
     ieee802_11_set_beacons() ../src/ap/beacon.c:1368
[5]: ./hostap/wpa_supplicant/wpa_supplicant() [0x437559]
     mesh_mpm_add_peer() mesh_mpm.c:688
[6]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_mesh_new_mesh_peer+0x42) [0x439182]
     wpa_mesh_new_mesh_peer() mesh_mpm.c:737
[7]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_mesh_notify_peer+0x80) [0x436460]
     wpa_mesh_notify_peer() mesh.c:347
[8]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_supplicant_event+0xc7a) [0x4a69ba]
     wpa_supplicant_event() events.c:4312
[9]: ./hostap/wpa_supplicant/wpa_supplicant(process_global_event+0xaf0) [0x4c2d40]
     nl80211_new_peer_candidate() ../src/drivers/driver_nl80211_event.c:1247
     do_process_drv_event() ../src/drivers/driver_nl80211_event.c:2322
     process_global_event() ../src/drivers/driver_nl80211_event.c:2360
[10]: /lib/x86_64-linux-gnu/libnl-3.so.200(nl_recvmsgs_report+0x3dc) [0x7f937176873c]
[11]: /lib/x86_64-linux-gnu/libnl-3.so.200(nl_recvmsgs+0x9) [0x7f9371768ba9]
[12]: ./hostap/wpa_supplicant/wpa_supplicant() [0x4aeb58]
     wpa_driver_nl80211_event_receive() ../src/drivers/driver_nl80211.c:1457
[13]: ./hostap/wpa_supplicant/wpa_supplicant() [0x43242e]
     eloop_sock_table_dispatch() ../src/utils/eloop.c:598
[14]: ./hostap/wpa_supplicant/wpa_supplicant(eloop_run+0x22e) [0x432e0e]
     eloop_sock_table_dispatch() ../src/utils/eloop.c:589
     eloop_run() ../src/utils/eloop.c:1219
[15]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_supplicant_run+0x77) [0x49e327]
     wpa_supplicant_run() wpa_supplicant.c:5608
WPA_TRACE: eloop sock - END
MEMLEAK[0xba81b0]: len 72
WPA_TRACE: memleak - START
[0]: ./hostap/wpa_supplicant/wpa_supplicant(os_malloc+0x57) [0x430d67]
     os_malloc() ../src/utils/os_unix.c:690
[1]: ./hostap/wpa_supplicant/wpa_supplicant(os_zalloc+0xe) [0x430fce]
     os_zalloc() ../src/utils/os_unix.c:749
[2]: ./hostap/wpa_supplicant/wpa_supplicant() [0x4babaa]
     nl80211_get_wiphy_data_ap() ../src/drivers/driver_nl80211.c:692
     wpa_driver_nl80211_set_ap() ../src/drivers/driver_nl80211.c:3786
[3]: ./hostap/wpa_supplicant/wpa_supplicant(ieee802_11_set_beacon+0x150) [0x469700]
     ieee802_11_set_beacon() ../src/ap/beacon.c:1349
[4]: ./hostap/wpa_supplicant/wpa_supplicant(ieee802_11_set_beacons+0x45) [0x469805]
     ieee802_11_set_beacons() ../src/ap/beacon.c:1368
[5]: ./hostap/wpa_supplicant/wpa_supplicant() [0x437559]
     mesh_mpm_add_peer() mesh_mpm.c:688
[6]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_mesh_new_mesh_peer+0x42) [0x439182]
     wpa_mesh_new_mesh_peer() mesh_mpm.c:737
[7]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_mesh_notify_peer+0x80) [0x436460]
     wpa_mesh_notify_peer() mesh.c:347
[8]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_supplicant_event+0xc7a) [0x4a69ba]
     wpa_supplicant_event() events.c:4312
[9]: ./hostap/wpa_supplicant/wpa_supplicant(process_global_event+0xaf0) [0x4c2d40]
     nl80211_new_peer_candidate() ../src/drivers/driver_nl80211_event.c:1247
     do_process_drv_event() ../src/drivers/driver_nl80211_event.c:2322
     process_global_event() ../src/drivers/driver_nl80211_event.c:2360
[10]: /lib/x86_64-linux-gnu/libnl-3.so.200(nl_recvmsgs_report+0x3dc) [0x7f937176873c]
[11]: /lib/x86_64-linux-gnu/libnl-3.so.200(nl_recvmsgs+0x9) [0x7f9371768ba9]
[12]: ./hostap/wpa_supplicant/wpa_supplicant() [0x4aeb58]
     wpa_driver_nl80211_event_receive() ../src/drivers/driver_nl80211.c:1457
[13]: ./hostap/wpa_supplicant/wpa_supplicant() [0x43242e]
     eloop_sock_table_dispatch() ../src/utils/eloop.c:598
[14]: ./hostap/wpa_supplicant/wpa_supplicant(eloop_run+0x22e) [0x432e0e]
     eloop_sock_table_dispatch() ../src/utils/eloop.c:589
     eloop_run() ../src/utils/eloop.c:1219
[15]: ./hostap/wpa_supplicant/wpa_supplicant(wpa_supplicant_run+0x77) [0x49e327]
     wpa_supplicant_run() wpa_supplicant.c:5608
WPA_TRACE: memleak - END
MEMLEAK: total 72 bytes
-----------------

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2017-01-29 17:55:10 +02:00
..
.gitignore Force rebuilding of src/drivers between hostapd and wpa_supplicant 2009-08-14 20:40:37 +03:00
android_drv.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
driver.h nl80211: More complete processing of connection quality monitor events 2017-01-08 12:11:14 +02:00
driver_atheros.c atheros: Accept Public Action frames sent to Wildcard BSSID 2016-08-11 16:08:30 +03:00
driver_bsd.c Remove trailing whitespace 2016-12-28 14:31:42 +02:00
driver_common.c nl80211: More complete processing of connection quality monitor events 2017-01-08 12:11:14 +02:00
driver_hostap.c hostap: Avoid undefined behavior in pointer arithmetic 2015-10-25 15:35:00 +02:00
driver_hostap.h Use SSID_MAX_LEN define instead of value 32 when comparing SSID length 2015-04-22 11:44:18 +03:00
driver_macsec_linux.c macsec_linux: Add a driver for macsec on Linux kernels 2016-11-30 20:08:36 +02:00
driver_macsec_qca.c drivers: Move driver_wired_get_ssid() to a common file 2016-11-30 19:33:43 +02:00
driver_ndis.c ndis: Use the new get_ie() helper to avoid duplicated code 2016-02-21 17:32:47 +02:00
driver_ndis.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
driver_ndis_.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
driver_nl80211.c nl80211: Fix a memory leak on deinit with HT enabled mesh 2017-01-29 17:55:10 +02:00
driver_nl80211.h nl80211: Update drv->ssid on connect/associate event based on BSS data 2016-12-05 12:08:46 +02:00
driver_nl80211_android.c Android: Rename ANDROID_P2P_STUB to ANDROID_LIB_STUB 2015-06-26 22:46:16 +03:00
driver_nl80211_capa.c nl80211: Use RSN_CIPHER_SUITE_* instead of WLAN_CIPHER_SUITE_* 2017-01-28 14:04:44 +02:00
driver_nl80211_event.c nl80211: More complete processing of connection quality monitor events 2017-01-08 12:11:14 +02:00
driver_nl80211_monitor.c radiotap: Silence sparse warnings about byte order swapping 2016-06-23 18:08:11 +03:00
driver_nl80211_scan.c nl80211: Use correct attribute for scan flags in vendor scan 2017-01-05 15:49:15 +02:00
driver_none.c Remove unused send_eapol() driver op 2014-12-11 15:40:07 +02:00
driver_openbsd.c Add driver for OpenBSD net80211 layer 2013-02-03 21:16:29 +02:00
driver_privsep.c Remove trailing whitespace 2016-12-28 14:31:42 +02:00
driver_roboswitch.c roboswitch: Add support for BCM63xx 2016-08-08 00:25:31 +03:00
driver_wext.c wext: Cancel send_rfkill timeout in deinit 2017-01-14 00:07:45 +02:00
driver_wext.h Android: Remove old WEXT extensions 2013-12-24 22:52:18 +02:00
driver_wired.c drivers: Move driver_wired_get_ssid() to a common file 2016-11-30 19:33:43 +02:00
driver_wired_common.c wired: Mark some common helper functions static 2016-11-30 20:08:39 +02:00
driver_wired_common.h wired: Mark some common helper functions static 2016-11-30 20:08:39 +02:00
drivers.c macsec_linux: Add a driver for macsec on Linux kernels 2016-11-30 20:08:36 +02:00
drivers.mak macsec_linux: Add a driver for macsec on Linux kernels 2016-11-30 20:08:36 +02:00
drivers.mk macsec_linux: Add a driver for macsec on Linux kernels 2016-11-30 20:08:36 +02:00
linux_defines.h nl80211: Move definitions into separate header files 2014-10-26 17:03:24 +02:00
linux_ioctl.c nl80211: Generic Linux master interface support for hostapd 2015-07-16 12:33:29 +03:00
linux_ioctl.h nl80211: Generic Linux master interface support for hostapd 2015-07-16 12:33:29 +03:00
linux_wext.h wext: Fix musl build error 2014-12-14 18:05:32 +02:00
Makefile Add CONFIG_CODE_COVERAGE=y option for gcov 2013-11-24 19:16:12 +02:00
ndis_events.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
netlink.c netlink: Fix RTM_SETLINK padding at the end of the message 2014-10-12 19:27:16 +03:00
netlink.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
nl80211_copy.h Sync with mac80211-next.git include/uapi/linux/nl80211.h 2017-01-13 15:05:26 +02:00
priv_netlink.h netlink: Fix RTM_SETLINK padding at the end of the message 2014-10-12 19:27:16 +03:00
rfkill.c rfkill: Fix a memory leak 2016-02-16 00:14:47 +02:00
rfkill.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00