git: 40c7ff83e74e - vendor/wpa - wpa: Import wpa_supplicant/hostapd commit e8662e9d4
Cy Schubert
Cy.Schubert at cschubert.com
Wed Jun 9 13:17:18 UTC 2021
In message <20210609090415.507c477968bce2efce9e9ff8 at bidouilliste.com>,
Emmanuel
Vadot writes:
> On Thu, 3 Jun 2021 16:38:16 GMT
> Cy Schubert <cy at FreeBSD.org> wrote:
>
> > The branch vendor/wpa has been updated by cy:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=40c7ff83e74eabba5a7e2caefeea12
> 372b2d3f9a
> >
> > commit 40c7ff83e74eabba5a7e2caefeea12372b2d3f9a
> > Author: Cy Schubert <cy at FreeBSD.org>
> > AuthorDate: 2021-06-03 16:15:01 +0000
> > Commit: Cy Schubert <cy at FreeBSD.org>
> > CommitDate: 2021-06-03 16:15:01 +0000
> >
> > wpa: Import wpa_supplicant/hostapd commit e8662e9d4
> >
> > This is the June update to vendor/wpa committed upstream 2021/06/03.
>
> Hi cy@
>
> Don't know if it is this commit or something else yet but I'm seeing
> weird behavior from a recent head.
> wpa_supplicant abort with SIGBUS just after connecting to my wireless
> network. I'm still connected but this stopped working after a while (I
> guess when the supplicant would need to do some stuff with the AP or
> something).
> From dmesg just after running service netif restart:
> lo0: link state changed to DOWN
> wlan0: link state changed to DOWN
> wlan0: Ethernet address: bc:54:2f:4b:d1:dd
> lo0: link state changed to UP
> wlan0: link state changed to UP
> pid 69593 (wpa_supplicant), jid 0, uid 0: exited on signal 10 (core
> dumped)
>
> Reading symbols from /usr/sbin/wpa_supplicant...
> Reading symbols from /usr/lib/debug//usr/sbin/wpa_supplicant.debug...
> [New LWP 112604]
> Core was generated by `/usr/sbin/wpa_supplicant -s -B -i wlan0 -c /etc/wpa_su
> pplicant.conf -D bsd -P /v'.
> Program terminated with signal SIGBUS, Bus error.
> #0 0x00000000010eaf7f in wpa_sm_set_rekey_offload (sm=0x801e12700) at /usr/l
> ocal/poudriere/jails/wipbsd/usr/src/contrib/wpa/src/rsn_supp/wpa_i.h:304
> 304 /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/src/rsn_supp/wp
> a_i.h: No such file or directory.
> (gdb) bt
> #0 0x00000000010eaf7f in wpa_sm_set_rekey_offload (sm=0x801e12700) at /usr/l
> ocal/poudriere/jails/wipbsd/usr/src/contrib/wpa/src/rsn_supp/wpa_i.h:304
> #1 wpa_supplicant_process_3_of_4 (sm=0x801e12700, key=<optimized out>, ver=<
> optimized out>, key_data=<optimized out>, key_data_len=<optimized out>)
> at /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/src/rsn_supp/wpa
> .c:1572
> #2 wpa_sm_rx_eapol (sm=<optimized out>, src_addr=<optimized out>, buf=<optim
> ized out>, len=<optimized out>)
> at /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/src/rsn_supp/wpa
> .c:2434
> #3 0x00000000010e372e in l2_packet_receive (sock=<optimized out>, eloop_ctx=
> 0x801e286e0, sock_ctx=<optimized out>)
> at /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/src/l2_packet/l2
> _packet_freebsd.c:98
> #4 0x0000000001112b23 in eloop_sock_table_dispatch (table=<optimized out>, f
> ds=0x801e44080) at /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/src/
> utils/eloop.c:600
> #5 eloop_run () at /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/src
> /utils/eloop.c:1223
> #6 0x00000000010af228 in wpa_supplicant_run (global=<optimized out>, global@
> entry=0x801e2d000)
> at /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/wpa_supplicant/w
> pa_supplicant.c:6526
> #7 0x000000000109ab6c in main (argc=<optimized out>, argv=<optimized out>) a
> t /usr/local/poudriere/jails/wipbsd/usr/src/contrib/wpa/wpa_supplicant/main.c
> :397
>
> I'll try to revert the update later this week but if you have any idea in th
> e mean time.
Hi Emmanuel,
The commit you quote was only to the vendor branch which has not landed in
main yet. However the SIGBUS you have been experiencing, a SIBGUS at line
304 of wpa_i.h, caused by 25ecdc7d52770caf1c9b44b5ec11f468f6b636f3 and
fixed by the following commit:
commit 9a0f82285322a338548d13fcda07e1d574301190
Author: Cy Schubert <cy at FreeBSD.org>
Date: Wed Jun 2 12:46:02 2021 -0700
wpa: Fix a SIGBUS error in wpa_sm_set_rekey_offload
Incorrectly linked built-in wpa functions resulted in overwriting
sm->ctx->set_rekey_offload with garbage. It was initialized correctly
however it changed after wpa_supplicant became a daemon.
No SIGBUS violations reported by dhw@ were experienced during testing
of the original commit by msyelf or philip at .
Reported by: dhw
Tested by: dhw
MFC after: 2 months
X-MFC with: 25ecdc7d52770caf1c9b44b5ec11f468f6b636f3
If you already have 9a0f82285322a338548d13fcda07e1d574301190 applied and do
-DWITHOUT_CLEAN builds and still have the SIGBUS, rm -r
/usr/obj/${ARCH}/usr.sbin/wpa will remove incorrectly built .a files and
rebuild. They will rebuild correctly and the SIBGUS will resolve.
--
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX: <cy at FreeBSD.org> Web: https://FreeBSD.org
NTP: <cy at nwtime.org> Web: https://nwtime.org
The need of the many outweighs the greed of the few.
More information about the dev-commits-src-all
mailing list