summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorAlejandro Colomar <alx.manpages@gmail.com>2022-08-02 19:39:55 +0200
committerAlejandro Colomar <alx.manpages@gmail.com>2022-08-02 19:50:10 +0200
commit418bc208d08dbc4a0a3511e503c946ab6ac71c39 (patch)
treeaa234f9fb11930db005cd93a298646774936da58 /src
parent2c0888f69c247c82fc02ba207aa19fa00acf4b5e (diff)
downloadunit-418bc208d08dbc4a0a3511e503c946ab6ac71c39.tar.gz
unit-418bc208d08dbc4a0a3511e503c946ab6ac71c39.tar.bz2
Rejecting non-Linux pivot_root(2).
Some non-Linux systems implement pivot_root(2), even if they don't document that. An example is MacOS: $ grepc pivot_root / 2>/dev/null .../sys/sysproto.h:3012: int pivot_root(struct proc *, struct pivot_root_args *, int *); Since the prototype of the syscall differs from that of Linux, we can't use that syscall. Let's make sure the test only detects pivot_root(2) under Linux. Also, rename the feature macro to make clear that it's only about Linux's pivot_root(2). This closes #737 issue on GitHub.
Diffstat (limited to 'src')
-rw-r--r--src/nxt_isolation.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nxt_isolation.c b/src/nxt_isolation.c
index 5a0714ff..796da4c6 100644
--- a/src/nxt_isolation.c
+++ b/src/nxt_isolation.c
@@ -45,7 +45,7 @@ static int nxt_cdecl nxt_isolation_mount_compare(const void *v1,
const void *v2);
static void nxt_isolation_unmount_all(nxt_task_t *task, nxt_process_t *process);
-#if (NXT_HAVE_PIVOT_ROOT) && (NXT_HAVE_CLONE_NEWNS)
+#if (NXT_HAVE_LINUX_PIVOT_ROOT) && (NXT_HAVE_CLONE_NEWNS)
static nxt_int_t nxt_isolation_pivot_root(nxt_task_t *task, const char *rootfs);
static nxt_int_t nxt_isolation_make_private_mount(nxt_task_t *task,
const char *rootfs);
@@ -752,7 +752,7 @@ undo:
}
-#if (NXT_HAVE_PIVOT_ROOT) && (NXT_HAVE_CLONE_NEWNS)
+#if (NXT_HAVE_LINUX_PIVOT_ROOT) && (NXT_HAVE_CLONE_NEWNS)
nxt_int_t
nxt_isolation_change_root(nxt_task_t *task, nxt_process_t *process)
@@ -1007,7 +1007,7 @@ nxt_pivot_root(const char *new_root, const char *old_root)
}
-#else /* !(NXT_HAVE_PIVOT_ROOT) || !(NXT_HAVE_CLONE_NEWNS) */
+#else /* !(NXT_HAVE_LINUX_PIVOT_ROOT) || !(NXT_HAVE_CLONE_NEWNS) */
nxt_int_t