static void verify_epoll_create1(void) { int fd, coe; fd = tst_syscall(__NR_epoll_create1, 0); if (fd == -1) tst_brk(TFAIL | TERRNO, "epoll_create1(0) failed"); coe = SAFE_FCNTL(fd, F_GETFD); if (coe & FD_CLOEXEC) tst_brk(TFAIL, "flags=0 set close-on-exec flag"); SAFE_CLOSE(fd); fd = tst_syscall(__NR_epoll_create1, EPOLL_CLOEXEC); if (fd == -1) tst_brk(TFAIL | TERRNO, "epoll_create1(EPOLL_CLOEXEC) failed"); coe = SAFE_FCNTL(fd, F_GETFD); if ((coe & FD_CLOEXEC) == 0) tst_brk(TFAIL, "flags=EPOLL_CLOEXEC didn't set close-on-exec"); SAFE_CLOSE(fd); tst_res(TPASS, "epoll_create1(EPOLL_CLOEXEC) PASSED"); }
void run(unsigned int test) { TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf)); if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno)) tst_res(TPASS | TTERRNO, "ustat(2) expected failure"); else tst_res(TFAIL | TTERRNO, "ustat(2) failed to produce expected error; %d, errno" ": %s", tc[test].exp_errno, tc[test].exp_errval); }
static void verify_getrandom(void) { char buf[128]; struct rlimit lold, lnew; SAFE_GETRLIMIT(RLIMIT_NOFILE, &lold); lnew.rlim_max = lold.rlim_max; lnew.rlim_cur = 3; SAFE_SETRLIMIT(RLIMIT_NOFILE, &lnew); TEST(tst_syscall(__NR_getrandom, buf, 100, 0)); if (TST_RET == -1) tst_res(TFAIL | TTERRNO, "getrandom failed"); else tst_res(TPASS, "getrandom returned %ld", TST_RET); SAFE_SETRLIMIT(RLIMIT_NOFILE, &lold); }
static void setup(void) { if (opt_fsizestr) testfile_size = SAFE_STRTOL(opt_fsizestr, 1, INT_MAX); if (access(PROC_IO_FNAME, F_OK)) tst_brk(TCONF, "Requires " PROC_IO_FNAME); has_file(DROP_CACHES_FNAME, 1); has_file(MEMINFO_FNAME, 1); /* check if readahead is supported */ tst_syscall(__NR_readahead, 0, 0, 0); pagesize = getpagesize(); setup_readahead_length(); tst_res(TINFO, "readahead length: %d", readahead_length); setup_overlay(); }
static void verify_add_key(unsigned int i) { #ifdef HAVE_LINUX_KEYCTL_H TEST(tst_syscall(__NR_add_key, tcases[i].type, tcases[i].desc, tcases[i].payload, tcases[i].plen, KEY_SPEC_USER_KEYRING)); if (TEST_RETURN != -1) { tst_res(TFAIL, "add_key() passed unexpectedly"); return; } if (TEST_ERRNO == tcases[i].exp_errno) { tst_res(TPASS | TTERRNO, "add_key() failed expectedly"); return; } tst_res(TFAIL | TTERRNO, "add_key() failed unexpectedly, expected %s", tst_strerrno(tcases[i].exp_errno)); #else tst_brk(TCONF, "linux/keyctl.h was missing upon compilation."); #endif /* HAVE_LINUX_KEYCTL_H */ }
int sys_memfd_create(const char *name, unsigned int flags) { return tst_syscall(__NR_memfd_create, name, flags); }