From: Youngjae Cho Date: Thu, 16 Jan 2025 08:51:34 +0000 (+0900) Subject: lowmem: Replace syscommon_proc_is_app() with security-manager API X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen-next;p=platform%2Fcore%2Fsystem%2Fresourced.git lowmem: Replace syscommon_proc_is_app() with security-manager API Instead of syscommon_proc_is_app() which had been accessing smack node '/proc//attr/current' directly, use security-manager API instead. It is especially important where smack is not support. The security-manager API can handle such case in contrast to accessing the smack node directly. Change-Id: I6c57438de72dab19b6f20ab954109b9f8c301274 Signed-off-by: Youngjae Cho --- diff --git a/packaging/resourced.spec b/packaging/resourced.spec index 63e1e7c5..00cc2e06 100644 --- a/packaging/resourced.spec +++ b/packaging/resourced.spec @@ -47,6 +47,7 @@ BuildRequires: pkgconfig(aul) BuildRequires: pkgconfig(gio-2.0) BuildRequires: gperf BuildRequires: pkgconfig(cynara-creds-pid) +BuildRequires: pkgconfig(security-manager) # for swap plugin Requires: %{_sbindir}/mkswap diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c31afe9c..8b9f29e8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -114,6 +114,7 @@ SET(REQUIRES_LIST ${REQUIRES_LIST} libsyscommon-plugin-api-resourced aul cynara-creds-pid + security-manager ) INCLUDE(FindPkgConfig) diff --git a/src/resource-limiter/memory/lowmem.c b/src/resource-limiter/memory/lowmem.c index 2444d0e5..16da153c 100644 --- a/src/resource-limiter/memory/lowmem.c +++ b/src/resource-limiter/memory/lowmem.c @@ -44,6 +44,7 @@ #include #include +#include #include #include "trace.h" @@ -386,6 +387,18 @@ static inline void get_total_memory(void) } } +static int lowmem_is_app(pid_t pid) +{ + bool is_app = false; + int ret; + + ret = security_manager_is_app_from_pid(pid, &is_app); + if (ret != SECURITY_MANAGER_SUCCESS) + return -1; + + return is_app; +} + unsigned int lowmem_get_task_mem_usage_rss(const struct task_info *tsk) { unsigned int size_kb = 0, total_size_kb = 0; @@ -672,7 +685,7 @@ static GArray *lowmem_get_task_info_proc() if (pgid < 1) continue; - if(syscommon_proc_is_app(pid) != 1) + if(lowmem_is_app(pid) != 1) continue; if (proc_get_oom_score_adj(pid, &oom_score_adj) < 0) {