in ncrx/nctx.c [83:96]
static void kmsg_ring_advance(struct kmsg_ring *ring)
{
struct kmsg_slot *slot;
ring->head_seq++;
ring->head = (ring->head + 1) % ring->nr_slots;
slot = &ring->slots[ring->head];
if (ring->tail == ring->head) {
free(slot->msg);
memset(slot, 0, sizeof(*slot));
ring->tail = (ring->tail + 1) % ring->nr_slots;
}
}