Hello,

I have spent some days debugging an issue I am frequently seeing with
netifd and ppp modems. When connecting the modem after having
connected and disconnected it once, i.e., the second time netifd
"sees" the modem, netifd frequently thows a sigsev.

After going through the code, adding printf's to see what happen and
comparing with other types of interfaces/protocols, what seems to
happen is that the device_user is not removed. When netifd does not
crash, I see that the reference count is increasing.

The crash always happens with the first "message" received by netifd,
in safe_list_for_each(&dev->users, device_broadcast_cb, &dev_ev) in
device_broadcast_event().

My current work-around is to call device_release_user() from
device_release(), if refcnt == 1. However, this seems to me like a
dirty hack that is bound to come back and bit me :)

Does anyone have any ideas on what might be wrong or how I can
progress in trying to solve this?

Thanks in advance for any help,
Kristian
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to