mesh: Fix crash on removing virtual mesh interface
If a virtual mesh interface has been created and is still operational when the main interface is removed (e.g., Wi-Fi hardware ejected), the following crash occurred with the below backtrace: WPA_TRACE: eloop SIGSEGV - START [1]: /usr/local/sbin/wpa_supplicant() [0x44ef7e] eloop_sigsegv_handler() home/saurav/hostap/wpa_supplicant/../src/utils/eloop.c:123 [2]: /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f4c395cfd40] [3]: /usr/local/sbin/wpa_supplicant(wpa_supplicant_remove_iface+0xd0) [0x57f500] wpa_supplicant_remove_iface() home/saurav/hostap/wpa_supplicant/wpa_supplicant.c:5338 [4]: /usr/local/sbin/wpa_supplicant() [0x57fbef] wpa_supplicant_deinit_iface() home/saurav/hostap/wpa_supplicant/wpa_supplicant.c:5069 [5]: /usr/local/sbin/wpa_supplicant(wpa_supplicant_remove_iface+0xc5) [0x57f4f5] wpa_supplicant_remove_iface() home/saurav/hostap/wpa_supplicant/wpa_supplicant.c:5343 [6]: /usr/local/sbin/wpa_supplicant(wpas_dbus_handler_remove_interface+0x8d) [0x55baad] wpas_dbus_handler_remove_interface() home/saurav/hostap/wpa_supplicant/dbus/dbus_new_handlers.c:679 [7]: /usr/local/sbin/wpa_supplicant() [0x5560cb] msg_method_handler() home/saurav/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:354 message_handler() home/saurav/hostap/wpa_supplicant/dbus/dbus_new_helpers.c:410 [8]: /lib/x86_64-linux-gnu/libdbus-1.so.3(+0x1be86) [0x7f4c39979e86] [9]: /lib/x86_64-linux-gnu/libdbus-1.so.3(dbus_connection_dispatch+0x381) [0x7f4c3996ca21] [10]: /usr/local/sbin/wpa_supplicant() [0x567148] dispatch_data() home/saurav/hostap/wpa_supplicant/dbus/dbus_common.c:36 [11]: /usr/local/sbin/wpa_supplicant() [0x5674a7] process_watch() home/saurav/hostap/wpa_supplicant/dbus/dbus_common.c:75 process_watch_read() home/saurav/hostap/wpa_supplicant/dbus/dbus_common.c:90 [12]: /usr/local/sbin/wpa_supplicant() [0x44f297] eloop_sock_table_dispatch() home/saurav/hostap/wpa_supplicant/../src/utils/eloop.c:598 [13]: /usr/local/sbin/wpa_supplicant(eloop_run+0x1fe) [0x44ff1e] eloop_run() home/saurav/hostap/wpa_supplicant/../src/utils/eloop.c:1219 [14]: /usr/local/sbin/wpa_supplicant(wpa_supplicant_run+0x77) [0x57fd87] wpa_supplicant_run() home/saurav/hostap/wpa_supplicant/wpa_supplicant.c:5608 [15]: /usr/local/sbin/wpa_supplicant(main+0x3a8) [0x43ba88] main() home/saurav/hostap/wpa_supplicant/main.c:392 WPA_TRACE: eloop SIGSEGV - END Aborted (core dumped) Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
This commit is contained in:
parent
3ca712028d
commit
6b585f420a
1 changed files with 1 additions and 1 deletions
|
@ -5351,7 +5351,7 @@ int wpa_supplicant_remove_iface(struct wpa_global *global,
|
|||
|
||||
#ifdef CONFIG_MESH
|
||||
if (mesh_if_created) {
|
||||
wpa_drv_if_remove(global->ifaces, WPA_IF_MESH, ifname);
|
||||
wpa_drv_if_remove(wpa_s->parent, WPA_IF_MESH, ifname);
|
||||
os_free(ifname);
|
||||
}
|
||||
#endif /* CONFIG_MESH */
|
||||
|
|
Loading…
Reference in a new issue