mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-01 11:25:51 +00:00
The cmux module does not properly cancel all work when it is released from its modem pipe. Releasing CMUX must cancel all work as the pipe is no longer available, as it is set to NULL. If work remains which tries to transmit something to the now released pipe, a NULL dereference occurs. This exact issue occurs if a DLCI channel is trying to open after the modem pipe has been released, as the CMUX component will send an open request at a fixed interval. The expected behavior is for the open request to be cancelled, and further open requests to be prevented until cmux is again attached to a pipe. Lastly, added a check to ensure that the pipe is indeed released when calling attach, to ensure all work is indeed stopped before modifying the pipe and buffers. Signed-off-by: Bjarki Arge Andreasen <bjarki@arge-andreasen.me> |
||
---|---|---|
.. | ||
backends | ||
CMakeLists.txt | ||
Kconfig | ||
modem_chat.c | ||
modem_cmux.c | ||
modem_pipe.c | ||
modem_pipelink.c | ||
modem_ppp.c | ||
modem_stats.c | ||
modem_ubx.c |