zephyr/subsys/modem
Bjarki Arge Andreasen 50f1ab6e20 modem: cmux: disable all work when released
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>
2024-06-26 09:27:20 -04:00
..
backends modem: backend: uart: async: Implement modem backend stat 2024-05-20 14:40:06 +03:00
CMakeLists.txt modem: add modem_pipelink module 2024-06-10 15:12:34 -05:00
Kconfig modem: pipe: simplify synchronization 2024-06-13 16:43:49 -04:00
modem_chat.c modem: chat: patch unintended behavior in modem_chat_run_script() 2024-06-13 17:49:23 +02:00
modem_cmux.c modem: cmux: disable all work when released 2024-06-26 09:27:20 -04:00
modem_pipe.c modem: pipe: simplify synchronization 2024-06-13 16:43:49 -04:00
modem_pipelink.c modem: add modem_pipelink module 2024-06-10 15:12:34 -05:00
modem_ppp.c modem: ppp: coverity 330618: explicitly ignore retval 2024-06-24 14:25:46 +02:00
modem_stats.c modem: backend: Add statistics module 2024-05-20 14:40:06 +03:00
modem_ubx.c ADD: GNSS Driver for U-BLOX M10 & Support for UBX Messages 2024-03-26 09:28:36 +00:00