From dcfb1f3eb161c1e096626894667dfd2248893f7d Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sun, 14 Jun 2026 15:28:55 +0200 Subject: kernel/vfs: fix reference cycle for dentries --- kernel/src/filesystem/dentry.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'kernel/src') diff --git a/kernel/src/filesystem/dentry.cpp b/kernel/src/filesystem/dentry.cpp index 3d8e01a..01de276 100644 --- a/kernel/src/filesystem/dentry.cpp +++ b/kernel/src/filesystem/dentry.cpp @@ -34,9 +34,9 @@ namespace kernel::filesystem return m_inode; } - auto dentry::parent() const -> kstd::shared_ptr const & + auto dentry::parent() const -> kstd::shared_ptr { - return m_parent; + return m_parent.lock(); } auto dentry::name() const -> std::string_view @@ -48,7 +48,7 @@ namespace kernel::filesystem { kstd::string path = m_name; - auto parent = m_parent; + auto parent = this->parent(); while (parent) { auto parent_name = parent->m_name; @@ -61,7 +61,7 @@ namespace kernel::filesystem path = parent_name + "/" + path; } - parent = parent->m_parent; + parent = parent->parent(); } return path; -- cgit v1.2.3