diff --git a/Kernel/VM/InodeVMObject.cpp b/Kernel/VM/InodeVMObject.cpp index 6eee62c629..55c7eed6b5 100644 --- a/Kernel/VM/InodeVMObject.cpp +++ b/Kernel/VM/InodeVMObject.cpp @@ -5,10 +5,11 @@ NonnullRefPtr InodeVMObject::create_with_inode(Inode& inode) { + size_t size = inode.size(); InterruptDisabler disabler; if (inode.vmobject()) return *inode.vmobject(); - auto vmobject = adopt(*new InodeVMObject(inode)); + auto vmobject = adopt(*new InodeVMObject(inode, size)); vmobject->inode().set_vmobject(*vmobject); return vmobject; } @@ -18,8 +19,8 @@ NonnullRefPtr InodeVMObject::clone() return adopt(*new InodeVMObject(*this)); } -InodeVMObject::InodeVMObject(Inode& inode) - : VMObject(inode.size()) +InodeVMObject::InodeVMObject(Inode& inode, size_t size) + : VMObject(size) , m_inode(inode) , m_dirty_pages(page_count(), false) { diff --git a/Kernel/VM/InodeVMObject.h b/Kernel/VM/InodeVMObject.h index 876cdf20ae..a974c16f49 100644 --- a/Kernel/VM/InodeVMObject.h +++ b/Kernel/VM/InodeVMObject.h @@ -22,7 +22,7 @@ public: int release_all_clean_pages(); private: - explicit InodeVMObject(Inode&); + explicit InodeVMObject(Inode&, size_t); explicit InodeVMObject(const InodeVMObject&); InodeVMObject& operator=(const InodeVMObject&) = delete;