syscall
return syscall(afs_syscalls[0], AFSCALL_PIOCTL,
return syscall(afs_syscalls[0],
return syscall(afs_syscalls[0], AFSCALL_SETPAG);
return syscall(afs_syscalls[1]);
syscall(syscall_num, AFSCALL_PIOCTL,
syscall(syscall_pioctl,
unsigned long syscall;
unsigned long syscall;
r = syscall(SYS_getrandom, buf, len, 0);
#define fcntl(fd, cmd, arg) syscall(SYS_fcntl64, fd, cmd, arg)
# define clock_gettime(id, ts) syscall (SYS_clock_gettime, (id), (ts))
if (syscall(SYS_mlock2, sh.arena, sh.arena_size, MLOCK_ONFAULT) < 0) {
return syscall(__NR_riscv_hwprobe, pairs, pair_count, cpu_count, cpus, flags);
int ret = syscall(340);
return syscall(__NR_io_setup, n, ctx);
return syscall(__NR_eventfd2, n, 0);
return syscall(__NR_io_destroy, ctx);
return syscall(__NR_io_submit, ctx, n, iocb);
int ret = syscall(__NR_io_pgetevents_time64, ctx, min, max, events,
return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
return syscall(__NR_io_getevents, ctx, min, max, events, &ts32);
return syscall(__NR_io_getevents, ctx, min, max, events, NULL);
return syscall(__NR_getrandom, buf, buflen, 0);
int syscall(int, ...);
#define INTERPOS_SYS(syscall, ...) \
_INTERPOS_SYS(__sys_## syscall ##_t, INTERPOS_## syscall \
return (syscall(SYS_sctp_peeloff, sd, assoc_id));
return (syscall(SYS_sctp_generic_sendmsg, s,
return (syscall(SYS_sctp_generic_sendmsg, sd,
ret = syscall(SYS_sctp_generic_sendmsg, sd,
return (syscall(SYS_sctp_generic_recvmsg, s,
#define PMC_CALL(op, params) syscall(pmc_syscall, (op), (params))
int __sys_afs3_syscall(long syscall, long parm1, long parm2, long parm3, long parm4, long parm5, long parm6);
syscall
ret = syscall(SYS_fork);
ret = syscall(SYS_pdfork, a->fdp, a->flags);
syscall(SYS_getpid);
syscall(SYS_sigreturn, uc);
SYSCALL_MODULE(syscall, &offset, &hello_sysent, load, NULL);
return syscall (syscall_num);
scp_t syscall; /* entry point to the API */
if (!syscall(API_GETC, NULL, &c))
if (!syscall(API_TSTC, NULL, &t))
syscall(API_PUTC, NULL, &c);
syscall(API_PUTS, NULL, s);
syscall(API_RESET, NULL);
if (!syscall(API_GET_SYS_INFO, &err, &si))
syscall(API_UDELAY, NULL, &usec);
if (!syscall(API_GET_TIMER, NULL, &cur, &base))
if (!syscall(API_DEV_ENUM, NULL, di))
if (!syscall(API_DEV_ENUM, NULL, di))
if (!syscall(API_DEV_OPEN, &err, di))
if (!syscall(API_DEV_CLOSE, NULL, di))
if (!syscall(API_DEV_READ, &err, di, buf, &len, &start, &act_len))
if (!syscall(API_DEV_READ, &err, di, buf, &len, &act_len))
if (!syscall(API_DEV_WRITE, &err, di, buf, &len))
if (!syscall(API_ENV_GET, NULL, name, &value))
syscall(API_ENV_SET, NULL, name, value);
if (!syscall(API_ENV_ENUM, NULL, last, &env))
int syscall(int, int *, ...);
syscall_ptr = sig->syscall;
printf(" sc entry\t= 0x%08x\n", sig->syscall);
syscall(td, frame);
void syscall(struct trapframe *frame);
iarg[a++] = p->syscall; /* long */
syscall(frame);
static void syscall(struct trapframe *frame);
char syscall_l_[PADL_(long)]; long syscall; char syscall_r_[PADR_(long)];
ATF_REQUIRE(syscall(SYS_open, path, flag) != -1); \
ATF_REQUIRE_EQ(-1, syscall(SYS_open, errpath, flag)); \
EXPECT_OK(syscall(__NR_io_setup, 10, &ctx));
EXPECT_NOTCAPABLE(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_OK(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_NOTCAPABLE(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_NOTCAPABLE(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_FAIL_NOT_NOTCAPABLE(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_FAIL_NOT_NOTCAPABLE(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_NOTCAPABLE(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_OK(syscall(__NR_io_submit, ctx, 1, reqs));
EXPECT_OK(syscall(__NR_io_destroy, ctx));
int rc = syscall(__NR_kcmp, parent, parent, KCMP_FILE, fd, fd);
EXPECT_OK(syscall(__NR_kcmp, parent, child, KCMP_FILE, fd, fd));
EXPECT_NE(0, syscall(__NR_kcmp, parent, child, KCMP_FILE, fd, fd));
EXPECT_EQ(0, syscall(__NR_cap_rights_limit, fd, &rights, 0, 0, NULL, 0));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, &rights, 0, 0, NULL, 1));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, &rights, CAP_FCNTL_GETFL, 0, NULL, 0));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, &rights, 0, 1, &ioctl1, 0));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, &rights, 0, 1, NULL, 0));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, &rights, 0, -2, NULL, 0));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, NULL, 0, 0, NULL, 0));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, &rights, 0, 0, NULL, 0));
EXPECT_EQ(-1, syscall(__NR_cap_rights_limit, fd, &rights, 0, 0, NULL, 0));
return syscall(__NR_getrandom, buf, buflen, flags);
return syscall(__NR_memfd_create, name, flags);
EXPECT_CAPMODE(syscall(__NR_prctl, big_cmd, 0, 0, 0, 0));
syscall(nr, arg1, arg2, arg3);
struct ktr_syscall *syscall;
ATF_REQUIRE(header.ktr_len >= (int)sizeof(*syscall));
syscall = xmalloc(header.ktr_len);
n = read(fd, syscall, header.ktr_len);
if (syscall->ktr_code == SYS_sigwait) {
free(syscall);
ATF_REQUIRE(header.ktr_len >= (int)sizeof(*syscall));
syscall = xmalloc(header.ktr_len);
n = read(fd, syscall, header.ktr_len);
ATF_REQUIRE_EQ(syscall->ktr_code, SYS_execve);
free(syscall);
ATF_REQUIRE(syscall(273) == -1); /* reserved */
ATF_REQUIRE(syscall(440) == -1); /* SYS_kse_switchin */
ATF_REQUIRE(syscall(3000000) == -1);
ATF_REQUIRE(syscall(SYS_afs3_syscall) == -1);
return (syscall(__NR_getrandom, buf, buflen, 0));
tests[0].syscall = SYS_faccessat;
tests[1].syscall = SYS_fchmodat;
tests[2].syscall = SYS_fchownat;
tests[3].syscall = SYS_fstatat;
tests[4].syscall = SYS_futimesat;
tests[5].syscall = SYS_linkat;
tests[6].syscall = SYS_mkdirat;
tests[7].syscall = SYS_mkfifoat;
tests[8].syscall = SYS_mknodat;
tests[9].syscall = SYS_openat;
tests[10].syscall = SYS_readlinkat;
tests[11].syscall = SYS_renameat;
tests[12].syscall = SYS_symlinkat;
tests[13].syscall = SYS_unlinkat;
int syscall;
tests[14].syscall = SYS_fexecve;
error = syscall(tests[i].syscall,
syscall(syscall_num, 2, &args, &res);
syscall(syscall_num, 2, &args, &res);
syscall(syscall_num, 2, &args, &res);
syscall(syscall_num, 2, &args, &res);
syscall(syscall_num, 2, &args, &res);
syscall(syscall_num, 3, NULL, NULL);
syscall(syscall_num, 4, NULL, NULL);
syscall(syscall_num, 1, NULL, NULL);
#define CHECK_SYSCALL_SUCCEEDS(syscall, ...) do { \
if (syscall(__VA_ARGS__) < 0) \
__func__, __LINE__, #syscall); \
#define CHECK_SYSCALL_FAILS(expected_errno, syscall, ...) do { \
if (syscall(__VA_ARGS__) < 0) { \
__func__, __LINE__, #syscall); \
__func__, __LINE__, #syscall); \
#define CHECK_SYSCALL_FAILS_BUT_NOT_WITH(bad_errno, syscall, ...) do { \
if (syscall(__VA_ARGS__) < 0) { \
__func__, __LINE__, #syscall); \
__func__, __LINE__, #syscall); \
SYSCALL_FAIL(syscall, "errno != ENOTCAPABLE"); \
#define SYSCALL_FAIL(syscall, message) \
FAIL("%s:\t%s (rights 0x%jx)", #syscall, message, rights)
#define CHECK_RESULT(syscall, rights_needed, succeeded) do { \
SYSCALL_FAIL(syscall, "failed"); \
" (rights 0x%jx)", #syscall, \
SYSCALL_FAIL(syscall, "errno != ENOTCAPABLE"); \
#define CHECK_SYSCALL_VOID_NOT_ECAPMODE(syscall, ...) do { \
(void)syscall(__VA_ARGS__); \
FAIL("capmode: %s failed with ECAPMODE", #syscall); \
return (syscall(374, flag));
tests[0].syscall = SYS_faccessat;
tests[1].syscall = SYS_fchmodat;
tests[2].syscall = SYS_fchownat;
tests[3].syscall = SYS_fstatat;
tests[4].syscall = SYS_futimesat;
tests[5].syscall = SYS_linkat;
tests[6].syscall = SYS_mkdirat;
tests[7].syscall = SYS_mkfifoat;
tests[8].syscall = SYS_mknodat;
tests[9].syscall = SYS_openat;
tests[10].syscall = SYS_readlinkat;
tests[11].syscall = SYS_renameat;
tests[12].syscall = SYS_symlinkat;
tests[13].syscall = SYS_unlinkat;
int syscall;
tests[14].syscall = SYS_fexecve;
error = syscall(tests[i].syscall,
printf("thr %ld\n", syscall(SYS_gettid));
struct syscall *sc;
struct syscall *sc;
STAILQ_ENTRY(syscall) entries;
struct syscall *get_syscall(struct threadinfo *, u_int, u_int);
struct syscall *sc;
struct syscall *sc;
static STAILQ_HEAD(, syscall) seen_syscalls;
static struct syscall *
add_syscall(struct procabi *abi, u_int number, struct syscall *sc)
struct syscall *
struct syscall *sc;
struct syscall;
struct syscall *sc;
struct syscall *syscalls[SYSCALL_NORMAL_COUNT];
struct syscall *sc;