]> git.ipfire.org Git - pakfire.git/commitdiff
execute: Add a simple wrapper for clone3
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 25 May 2022 12:06:11 +0000 (12:06 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 25 May 2022 12:06:11 +0000 (12:06 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/execute.c

index c23b840dbc82922b772586409ddeac60c2611c23..310ab737267d22d89aaebdfb450ff665e6b817a7 100644 (file)
@@ -80,9 +80,9 @@ struct pakfire_execute_buffer {
        size_t used;
 };
 
-#ifndef __NR_clone3
-#define __NR_clone3 435
-#endif
+static int clone3(struct clone_args* args, size_t size) {
+       return syscall(__NR_clone3, args, size);
+}
 
 static int pivot_root(const char* new_root, const char* put_old) {
        return syscall(__NR_pivot_root, new_root, put_old);
@@ -804,7 +804,7 @@ PAKFIRE_EXPORT int pakfire_execute(struct pakfire* pakfire, const char* argv[],
        args.cgroup = dirfd(cgroupdir);
 
        // Fork this process
-       pid_t pid = syscall(__NR_clone3, &args, sizeof(args));
+       pid_t pid = clone3(&args, sizeof(args));
        if (pid < 0) {
                ERROR(pakfire, "Could not fork: %m\n");
                return -errno;