From b36608f47cbc5eeb87e80d038d9798ac9cc3ab85 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 11 Jan 2020 21:07:00 +0100 Subject: [PATCH] ProcFS: Expose process pledge promises in /proc/all --- Kernel/FileSystem/ProcFS.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Kernel/FileSystem/ProcFS.cpp b/Kernel/FileSystem/ProcFS.cpp index 48ad237893..e14c8d65ba 100644 --- a/Kernel/FileSystem/ProcFS.cpp +++ b/Kernel/FileSystem/ProcFS.cpp @@ -758,6 +758,17 @@ Optional procfs$all(InodeIdentifier) // Keep this in sync with CProcessStatistics. auto build_process = [&](const Process& process) { auto process_object = array.add_object(); + + StringBuilder pledge_builder; +#define __ENUMERATE_PLEDGE_PROMISE(promise) \ + if (process.has_promised(Pledge::promise)) { \ + pledge_builder.append(#promise " "); \ + } + ENUMERATE_PLEDGE_PROMISES +#undef __ENUMERATE_PLEDGE_PROMISE + + process_object.add("pledge", pledge_builder.to_string()); + process_object.add("pid", process.pid()); process_object.add("pgid", process.tty() ? process.tty()->pgid() : 0); process_object.add("pgp", process.pgid());