From 37ad8806606270e469a96cfbca33f9512ba11804 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 10 Mar 2021 22:42:07 +0100 Subject: [PATCH] Kernel: Move process "dumpable" flag into protected data --- Kernel/Process.cpp | 7 +++++++ Kernel/Process.h | 7 +++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 0caaa56df4..d0e225e14c 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -725,4 +725,11 @@ bool Process::add_thread(Thread& thread) return is_first; } +void Process::set_dumpable(bool dumpable) +{ + if (dumpable == protected_data().dumpable) + return; + MutableProtectedData(*this)->dumpable = dumpable; +} + } diff --git a/Kernel/Process.h b/Kernel/Process.h index ddfdce1fec..cca2ddb634 100644 --- a/Kernel/Process.h +++ b/Kernel/Process.h @@ -123,6 +123,7 @@ class Process uid_t suid { 0 }; gid_t sgid { 0 }; Vector extra_gids; + bool dumpable { false }; }; // Helper class to temporarily unprotect a process's protected data so you can write to it. @@ -212,8 +213,8 @@ public: gid_t sgid() const { return protected_data().sgid; } ProcessID ppid() const { return protected_data().ppid; } - bool is_dumpable() const { return m_dumpable; } - void set_dumpable(bool dumpable) { m_dumpable = dumpable; } + bool is_dumpable() const { return protected_data().dumpable; } + void set_dumpable(bool); mode_t umask() const { return m_umask; } @@ -590,8 +591,6 @@ private: mode_t m_umask { 022 }; - bool m_dumpable { true }; - WeakPtr m_master_tls_region; size_t m_master_tls_size { 0 }; size_t m_master_tls_alignment { 0 };