diff options
| author | Russell King <[email protected]> | 2015-04-14 22:28:32 +0100 |
|---|---|---|
| committer | Russell King <[email protected]> | 2015-04-14 22:28:32 +0100 |
| commit | 4b2f8838479eb2abe042e094f7d2cced6d5ea772 (patch) | |
| tree | 5ef3236b354a494c8d71a572896283e44989c696 /tools/testing | |
| parent | c848791f0336914a3081ea3fe029cf177d81de81 (diff) | |
| parent | 9fd85eb502a78bd812db58bd1f668b2a06ee30a5 (diff) | |
Merge branch 'devel-stable' into for-next
Diffstat (limited to 'tools/testing')
| -rw-r--r-- | tools/testing/selftests/exec/execveat.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/testing/selftests/exec/execveat.c b/tools/testing/selftests/exec/execveat.c index e238c9559caf..8d5d1d2ee7c1 100644 --- a/tools/testing/selftests/exec/execveat.c +++ b/tools/testing/selftests/exec/execveat.c @@ -30,7 +30,7 @@ static int execveat_(int fd, const char *path, char **argv, char **envp, #ifdef __NR_execveat return syscall(__NR_execveat, fd, path, argv, envp, flags); #else - errno = -ENOSYS; + errno = ENOSYS; return -1; #endif } @@ -234,6 +234,14 @@ static int run_tests(void) int fd_cloexec = open_or_die("execveat", O_RDONLY|O_CLOEXEC); int fd_script_cloexec = open_or_die("script", O_RDONLY|O_CLOEXEC); + /* Check if we have execveat at all, and bail early if not */ + errno = 0; + execveat_(-1, NULL, NULL, NULL, 0); + if (errno == ENOSYS) { + printf("[FAIL] ENOSYS calling execveat - no kernel support?\n"); + return 1; + } + /* Change file position to confirm it doesn't affect anything */ lseek(fd, 10, SEEK_SET); |