]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/shared/clean-ipc.h
dynamic-user: don't use a UID that currently owns IPC objects (#6962)
[thirdparty/systemd.git] / src / shared / clean-ipc.h
index 6ca57f44fdd0e53e15363f11957a63dbd787ae10..c04ed3596bafa83c6ead1006b94f0ab4257f826a 100644 (file)
 
 #include <sys/types.h>
 
-int clean_ipc(uid_t uid, gid_t gid);
+#include "user-util.h"
+
+int clean_ipc_internal(uid_t uid, gid_t gid, bool rm);
+
+/* Remove all IPC objects owned by the specified UID or GID */
 int clean_ipc_by_uid(uid_t uid);
 int clean_ipc_by_gid(gid_t gid);
+
+/* Check if any IPC object owned by the specified UID or GID exists, returns > 0 if so, == 0 if not */
+static inline int search_ipc(uid_t uid, gid_t gid) {
+        return clean_ipc_internal(uid, gid, false);
+}