diff -up vsftpd-2.2.2/sysdeputil.c.clone vsftpd-2.2.2/sysdeputil.c --- vsftpd-2.2.2/sysdeputil.c.clone 2010-05-13 13:26:32.099358732 +0200 +++ vsftpd-2.2.2/sysdeputil.c 2010-05-13 13:26:43.894359985 +0200 @@ -1279,7 +1279,7 @@ vsf_sysutil_fork_isolate_failok() static int cloneflags_work = 1; if (cloneflags_work) { - int ret = syscall(__NR_clone, CLONE_NEWPID | CLONE_NEWIPC | SIGCHLD, NULL); + int ret = clone(NULL, NULL, CLONE_NEWPID | CLONE_NEWIPC | SIGCHLD, NULL); if (ret != -1 || (errno != EINVAL && errno != EPERM)) { if (ret == 0) @@ -1301,7 +1301,7 @@ vsf_sysutil_fork_newnet() static int cloneflags_work = 1; if (cloneflags_work) { - int ret = syscall(__NR_clone, CLONE_NEWNET | SIGCHLD, NULL); + int ret = clone(NULL, NULL, CLONE_NEWNET | SIGCHLD, NULL); if (ret != -1 || (errno != EINVAL && errno != EPERM)) { if (ret == 0)