]> git.ipfire.org Git - pakfire.git/commitdiff
jail: Set personality
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 2 Aug 2022 14:35:12 +0000 (14:35 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 2 Aug 2022 14:36:10 +0000 (14:36 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/jail.c

index c0ee6267ee14da89d3a894a0662ec543ab94a8a0..401507079100b16d56e56ac3befecc85556c1346 100644 (file)
 #include <stdlib.h>
 #include <syscall.h>
 #include <sys/eventfd.h>
+#include <sys/personality.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 
+#include <pakfire/arch.h>
 #include <pakfire/jail.h>
 #include <pakfire/logging.h>
 #include <pakfire/mount.h>
@@ -445,6 +447,16 @@ static int pakfire_jail_child(struct pakfire_jail* jail, const char* argv[], int
                }
        }
 
+       // Set personality
+       unsigned long persona = pakfire_arch_personality(arch);
+       if (persona) {
+               r = personality(persona);
+               if (r < 0) {
+                       ERROR(jail->pakfire, "Could not set personality (%x)\n", (unsigned int)persona);
+                       return 1;
+               }
+       }
+
        return 0;
 }