Files
mckernel/test/issues/1399/C1399T01.c
Ken Sato b44b11ace7 set_robust_list: Add error check
set_robust_list is not supported by McKernel.

Change-Id: I1f679e2e4df24139cceb1f2294bc072cb7956002
Refs: 1399
2020-07-14 01:06:49 +00:00

37 lines
793 B
C

#include <stdio.h>
#include <unistd.h>
#include <linux/futex.h>
#include <syscall.h>
#include <errno.h>
int main(int argc, void *argv[])
{
struct robust_list_head rlh;
size_t len = sizeof(struct robust_list_head);
int rc = 0, ret = 0;
errno = 0;
rc = syscall(__NR_set_robust_list, &rlh, len + 1);
if (rc == -1 && errno == EINVAL) {
printf("[OK] invalid len (1 greater than correct): EINVAL\n");
} else {
printf("[NG] invalid len (1 greater than correct): Succeed\n");
ret = -1;
goto out;
}
errno = 0;
rc = syscall(__NR_set_robust_list, &rlh, len - 1);
if (rc == -1 && errno == EINVAL) {
printf("[OK] invalid len (1 less than correct): EINVAL\n");
} else {
printf("[NG] invalid len (1 less than correct): Succeed\n");
ret = -1;
goto out;
}
out:
return ret;
}