Zephyr FIFOs: Protect Intrusive Link Storage and Prevent Double Enqueue
With Zephyr’s ordinary k_fifo_put(), the queued object carries the queue’s link inside its own first machine word. That storage is not application payload while the object is queued. The same object must not be active in two FIFO queues, or added again before removal. Debug this class of failure as a layout and membership problem…