Kernel: Make the Region constructor private

We can use adopt_own(*new T) instead of make<T>().
This commit is contained in:
Andreas Kling 2021-02-14 01:38:47 +01:00
parent 8415866c03
commit 4021264201
2 changed files with 4 additions and 5 deletions

View file

@ -229,7 +229,7 @@ size_t Region::amount_shared() const
NonnullOwnPtr<Region> Region::create_user_accessible(Process* owner, const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, String name, u8 access, Cacheable cacheable, bool shared)
{
auto region = make<Region>(range, move(vmobject), offset_in_vmobject, move(name), access, cacheable, shared);
auto region = adopt_own(*new Region(range, move(vmobject), offset_in_vmobject, move(name), access, cacheable, shared));
if (owner)
region->m_owner = owner->make_weak_ptr();
return region;
@ -237,7 +237,7 @@ NonnullOwnPtr<Region> Region::create_user_accessible(Process* owner, const Range
NonnullOwnPtr<Region> Region::create_kernel_only(const Range& range, NonnullRefPtr<VMObject> vmobject, size_t offset_in_vmobject, String name, u8 access, Cacheable cacheable)
{
return make<Region>(range, move(vmobject), offset_in_vmobject, move(name), access, cacheable, false);
return adopt_own(*new Region(range, move(vmobject), offset_in_vmobject, move(name), access, cacheable, false));
}
bool Region::should_cow(size_t page_index) const

View file

@ -228,9 +228,6 @@ public:
Region* m_next { nullptr };
Region* m_prev { nullptr };
// NOTE: These are public so we can make<> them.
Region(const Range&, NonnullRefPtr<VMObject>, size_t offset_in_vmobject, String, u8 access, Cacheable, bool shared);
bool remap_vmobject_page_range(size_t page_index, size_t page_count);
bool is_volatile(VirtualAddress vaddr, size_t size) const;
@ -247,6 +244,8 @@ public:
void set_syscall_region(bool b) { m_syscall_region = b; }
private:
Region(const Range&, NonnullRefPtr<VMObject>, size_t offset_in_vmobject, String, u8 access, Cacheable, bool shared);
bool do_remap_vmobject_page_range(size_t page_index, size_t page_count);
void set_access_bit(Access access, bool b)