From 2a4c286f2bc0a06a4f57b8a4d9e8e99b64815797 Mon Sep 17 00:00:00 2001 From: "Justin C. Miller" Date: Thu, 16 Mar 2023 19:43:51 -0700 Subject: [PATCH] [kernel] Fix error when log data wraps ring buffer The offset wasn't being properly masked. --- src/kernel/logger.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kernel/logger.cpp b/src/kernel/logger.cpp index 3424b7b..5affb25 100644 --- a/src/kernel/logger.cpp +++ b/src/kernel/logger.cpp @@ -95,11 +95,11 @@ logger::get_entry(uint64_t seen, void *buffer, size_t size) } size_t off = m_start; - j6_log_entry *ent = util::at(m_buffer, off); + j6_log_entry *ent = util::at(m_buffer, offset(off)); while (seen >= ent->id) { off += ent->bytes; kassert(off < m_end, "Got to the end while looking for new log entry"); - ent = util::at(m_buffer, off); + ent = util::at(m_buffer, offset(off)); } if (size >= ent->bytes)