@@ -1017,13 +1017,6 @@ bool Process::add_thread(Thread& thread)
return is_first;
}
-void Process::set_dumpable(bool dumpable)
-{
- with_mutable_protected_data([&](auto& protected_data) {
- protected_data.dumpable = dumpable;
- });
-}
-
ErrorOr<void> Process::set_coredump_property(NonnullOwnPtr<KString> key, NonnullOwnPtr<KString> value)
{
return m_coredump_properties.with([&](auto& coredump_properties) -> ErrorOr<void> {
@@ -249,7 +249,6 @@ public:
return with_protected_data([](auto& protected_data) { return protected_data.dumpable; });
- void set_dumpable(bool);
mode_t umask() const
@@ -12,14 +12,18 @@ namespace Kernel {
ErrorOr<FlatPtr> Process::sys$prctl(int option, FlatPtr arg1, [[maybe_unused]] FlatPtr arg2)
VERIFY_PROCESS_BIG_LOCK_ACQUIRED(this);
- switch (option) {
- case PR_GET_DUMPABLE:
- return is_dumpable();
- case PR_SET_DUMPABLE:
- set_dumpable(arg1);
- return 0;
- }
- return EINVAL;
+ return with_mutable_protected_data([&](auto& protected_data) -> ErrorOr<FlatPtr> {
+ switch (option) {
+ case PR_GET_DUMPABLE:
+ return protected_data.dumpable;
+ case PR_SET_DUMPABLE:
+ if (arg1 != 0 && arg1 != 1)
+ return EINVAL;
+ protected_data.dumpable = arg1;
+ return 0;
+ }
+ });