[PATCH] tests: add a test for mesh gate forwarding
Bob Copeland
me at bobcopeland.com
Sat Mar 5 10:48:46 PST 2016
On Sat, Mar 05, 2016 at 07:45:54PM +0200, Jouni Malinen wrote:
>
> I tried with the current wireless-testing.git snapshot and with the test
> case multiple test frames:
Great, thanks for the detailed information. I'll try to reproduce the
crash here.
The non-crashing case sounds like a case of root announcement not being
received by addr2 by the time it tries to send frames; IOW changing the
original time.sleep(1) to something bigger may work.
[I was looking for the part that scheduled the housekeeping timer or
queued root announcement after setting gate mode, and haven't found it
yet -- if it actually has to wait for the housekeeping timer then it
would be up to a minute before the root announcement happens.]
> Could you please share the wpas_mesh_gate_forwarding.hwsim0.pcapng file
> from a test case run that shows the expected behavior?
Sure, find the whole dump here:
https://bobcopeland.com/srcs/hwsim-test-logs-2016-03-05.tar.gz
Root announcements are at #156 and 173, the proxied frames are 230 and 232.
If it makes a difference, I was testing this one case by itself. I'll
try a full run shortly.
> The crash case looks like this:
> [ 8.770098] JKM:mesh_path_send_to_gates:tbl=ffff88001eb48e00
> [ 11.916288] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
> [ 11.931385] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready
> [ 11.946013] IPv6: ADDRCONF(NETDEV_UP): wlan2: link is not ready
> [ 11.970031] JKM:mesh_path_send_to_gates:tbl= (null)
> [ 11.971126] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
> I.e., the second call to mesh_path_send_to_gates() has
> sdata->u.mesh.mesh_paths NULL. Is that broken somewhere else or should
> this function check for that NULL case to avoid the crash?
So, it seems the test case found a bug at least. This much is new code. :\
mesh_paths is supposed to be not null for the lifetime of the mesh interface.
So either there's an initialization race here, or something is clobbering
that pointer. Or mpath->sdata is not valid. I'll dig into this.
Thanks a lot for testing!
--
Bob Copeland %% http://bobcopeland.com/
More information about the Hostap
mailing list