diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 356b7513c6..e1c75f3ad2 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -268,7 +268,7 @@ KResult Process::attach_resources(NonnullOwnPtr&& prealloc first_thread->detach(); } - m_procfs_traits = TRY(ProcessProcFSTraits::try_create({}, make_weak_ptr())); + m_procfs_traits = TRY(ProcessProcFSTraits::try_create({}, *this)); return KSuccess; } diff --git a/Kernel/Process.h b/Kernel/Process.h index e51224f8bd..5aed32eeb3 100644 --- a/Kernel/Process.h +++ b/Kernel/Process.h @@ -718,7 +718,7 @@ public: class ProcessProcFSTraits : public ProcFSExposedComponent { public: - static KResultOr> try_create(Badge, WeakPtr process) + static KResultOr> try_create(Badge, Process& process) { return adopt_nonnull_ref_or_enomem(new (nothrow) ProcessProcFSTraits(process)); } @@ -732,8 +732,8 @@ public: virtual GroupID owner_group() const override; private: - ProcessProcFSTraits(WeakPtr process) - : m_process(process) + explicit ProcessProcFSTraits(Process& process) + : m_process(process.make_weak_ptr()) { }