[Fuego] [PATCH 5/6] Functional.scrashme: fixed to support arm64

Tim.Bird at sony.com Tim.Bird at sony.com
Thu Jul 19 16:27:51 UTC 2018



> -----Original Message-----
> From: Li Xiaoming
More detail in the commit message would be appreciated.
Also would be good to describe what the new spec does.

However, I decided to apply this patch without the extra detail, this time.

> 
> Signed-off-by: Li Xiaoming <lixm.fnst at cn.fujitsu.com>
> ---
>  engine/tests/Functional.scrashme/fuego_test.sh     |   7 +-
>  .../scrashme-testfix-arm64.patch                   | 462 +++++++++++++++++++++
>  engine/tests/Functional.scrashme/spec.json         |   6 +-
>  3 files changed, 473 insertions(+), 2 deletions(-)
>  create mode 100644 engine/tests/Functional.scrashme/scrashme-testfix-
> arm64.patch
> 
> diff --git a/engine/tests/Functional.scrashme/fuego_test.sh
> b/engine/tests/Functional.scrashme/fuego_test.sh
> index aabb779..9380843 100755
> --- a/engine/tests/Functional.scrashme/fuego_test.sh
> +++ b/engine/tests/Functional.scrashme/fuego_test.sh
> @@ -6,7 +6,12 @@ function test_pre_check {
>  }
> 
>  function test_build {
> -    patch -p1 -N -s < $TEST_HOME/scrashme-testfix.patch
> +    if [ $ARCHITECTURE == "arm64" ] ; then
> +       patch -p2 -N -s < $TEST_HOME/scrashme-testfix-arm64.patch
> +    fi
> +    if [ $ARCHITECTURE == "arm" ] ; then
> +       patch -p1 -N -s < $TEST_HOME/scrashme-testfix.patch
> +    fi
>      make CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CC="$CC" LD="$LD"
>  }
> 
> diff --git a/engine/tests/Functional.scrashme/scrashme-testfix-arm64.patch
> b/engine/tests/Functional.scrashme/scrashme-testfix-arm64.patch
> new file mode 100644
> index 0000000..7549aa6
> --- /dev/null
> +++ b/engine/tests/Functional.scrashme/scrashme-testfix-arm64.patch
> @@ -0,0 +1,462 @@
> +diff -uNr old/scrashme/aarch64.h new/scrashme/aarch64.h
> +--- old/scrashme/aarch64.h	1970-01-01 08:00:00.000000000 +0800
> ++++ new/scrashme/aarch64.h	2018-05-02 16:40:05.122335437 +0800
> +@@ -0,0 +1,3 @@
> ++#include "syscalls-aarch64.h"
> ++
> ++#define KERNEL_ADDR 0xc0000000
> +diff -uNr old/scrashme/sanitise.c new/scrashme/sanitise.c
> +--- old/scrashme/sanitise.c	2018-04-30 16:44:54.437507419 +0800
> ++++ new/scrashme/sanitise.c	2018-04-30 16:44:42.161224419 +0800
> +@@ -23,6 +23,10 @@
> + #define PAGE_OFFSET 0xC0000000
> + #define TASK_SIZE (PAGE_OFFSET)
> + #endif
> ++#ifdef __aarch64__
> ++#define PAGE_OFFSET 0xC0000000
> ++#define TASK_SIZE (PAGE_OFFSET)
> ++#endif
> + #ifdef __ia64__
> + #define PAGE_OFFSET 0xe000000000000000
> + #define TASK_SIZE 0xa000000000000000
> +diff -uNr old/scrashme/scrashme.c new/scrashme/scrashme.c
> +--- old/scrashme/scrashme.c	2010-03-18 19:45:47.000000000 +0800
> ++++ new/scrashme/scrashme.c	2018-05-02 17:30:07.671552145 +0800
> +@@ -30,6 +30,9 @@
> + #ifdef __powerpc__
> + #include "ppc.h"
> + #endif
> ++#ifdef __aarch64__
> ++#include "aarch64.h"
> ++#endif
> + #ifdef __ia64__
> + #include "ia64.h"
> + #endif
> +@@ -483,7 +486,8 @@
> +
> + 	srand(seed);
> +
> +-	chroot("tmp");
> ++	if (chroot("tmp"))
> ++		printf("chroot failed!\n");
> + }
> +
> + static void run_mode(void)
> +@@ -584,6 +588,8 @@
> + 	syscalls = syscalls_ia64;
> + #elif __sparc__
> + 	syscalls = syscalls_sparc;
> ++#elif __aarch64__
> ++	syscalls = syscalls_aarch64;
> + #else
> + 	syscalls = syscalls_i386;
> + #endif
> +diff -uNr old/scrashme/syscalls-aarch64.h new/scrashme/syscalls-aarch64.h
> +--- old/scrashme/syscalls-aarch64.h	1970-01-01 08:00:00.000000000 +0800
> ++++ new/scrashme/syscalls-aarch64.h	2018-05-02
> 17:55:33.146718388 +0800
> +@@ -0,0 +1,405 @@
> ++/* Syscalls from arch/arm/kernel/call.S as of 4.9.0 */
> ++
> ++#include "scrashme.h"
> ++#include "sanitise.h"
> ++
> ++#define NR_SYSCALLS 394
> ++struct syscalltable syscalls_aarch64[NR_SYSCALLS + 1] = {
> ++/* 0 */		{ .name = "restart_syscall" },
> ++		{ .name = "exit", .flags = AVOID_SYSCALL },
> ++		{ .name = "fork", .flags = AVOID_SYSCALL },
> ++		{ .name = "read", .sanitise = sanitise_read  },
> ++		{ .name = "write", .sanitise = sanitise_write },
> ++/* 5 */		{ .name = "open" },
> ++		{ .name = "close", .sanitise = sanitise_close },
> ++		{ .name = "ni_syscall" },               /* was sys_waitpid */
> ++		{ .name = "creat" },
> ++		{ .name = "link" },
> ++/* 10 */	{ .name = "unlink" },
> ++		{ .name = "execve" },
> ++		{ .name = "chdir" },
> ++		{ .name = "ni_syscall" },               /* was sys_time */
> ++		{ .name = "mknod" },
> ++/* 15 */	{ .name = "chmod" },
> ++		{ .name = "lchown16" },
> ++		{ .name = "ni_syscall" },               /* was sys_break */
> ++		{ .name = "ni_syscall" },               /* was sys_stat */
> ++		{ .name = "lseek", .sanitise = sanitise_lseek },
> ++/* 20 */	{ .name = "getpid" },
> ++		{ .name = "mount" },
> ++		{ .name = "ni_syscall" },       /* was sys_sys_umount */
> ++		{ .name = "setuid16" },
> ++		{ .name = "getuid16" },
> ++/* 25 */	{ .name = "ni_syscall" },               /* was sys_stime */
> ++		{ .name = "ptrace" },
> ++		{ .name = "ni_syscall" },               /* was sys_alarm */
> ++		{ .name = "ni_syscall" },               /* was sys_fstat */
> ++		{ .name = "pause", .flags = AVOID_SYSCALL },
> ++/* 30 */	{ .name = "ni_syscall" },               /* was sys_utime */
> ++		{ .name = "ni_syscall" },               /* was sys_stty */
> ++		{ .name = "ni_syscall" },               /* was sys_getty */
> ++		{ .name = "access" },
> ++		{ .name = "nice" },
> ++/* 35 */	{ .name = "ni_syscall" },               /* was sys_ftime */
> ++		{ .name = "sync" },
> ++		{ .name = "kill" },
> ++		{ .name = "rename" },
> ++		{ .name = "mkdir" },
> ++/* 40 */	{ .name = "rmdir" },
> ++		{ .name = "dup" },
> ++		{ .name = "pipe" },
> ++		{ .name = "times" },
> ++		{ .name = "ni_syscall" },               /* was sys_prof */
> ++/* 45 */	{ .name = "brk" },
> ++		{ .name = "setgid16" },
> ++		{ .name = "getgid16" },
> ++		{ .name = "ni_syscall" },               /* was sys_signal */
> ++		{ .name = "geteuid16" },
> ++/* 50 */	{ .name = "getegid16" },
> ++		{ .name = "acct" },
> ++		{ .name = "umount" },
> ++		{ .name = "ni_syscall" },               /* was sys_lock */
> ++		{ .name = "ioctl", .sanitise = sanitise_ioctl },
> ++/* 55 */	{ .name = "fcntl" },
> ++		{ .name = "ni_syscall" },               /* was sys_mpx */
> ++		{ .name = "setpgid" },
> ++		{ .name = "ni_syscall" },               /* was sys_ulimit */
> ++		{ .name = "ni_syscall" },               /* was sys_olduname */
> ++/* 60 */	{ .name = "umask" },
> ++		{ .name = "chroot" },
> ++		{ .name = "ustat" },
> ++		{ .name = "dup2" },
> ++		{ .name = "getppid" },
> ++/* 65 */	{ .name = "getpgrp" },
> ++		{ .name = "setsid" },
> ++		{ .name = "sigaction" },
> ++		{ .name = "ni_syscall" },               /* was sys_sgetmask */
> ++		{ .name = "ni_syscall" },               /* was sys_ssetmask */
> ++/* 70 */	{ .name = "setreuid16" },
> ++		{ .name = "setregid16" },
> ++		{ .name = "sigsuspend", .flags = AVOID_SYSCALL },
> ++		{ .name = "sigpending" },
> ++		{ .name = "sethostname" },
> ++/* 75 */	{ .name = "setrlimit" },
> ++		{ .name = "ni_syscall" },            /* compat_sys_getrlimit */
> ++		{ .name = "getrusage" },
> ++		{ .name = "gettimeofday" },
> ++		{ .name = "settimeofday" },
> ++/* 80 */	{ .name = "getgroups16" },
> ++		{ .name = "setgroups16" },
> ++		{ .name = "ni_syscall" },               /* compat_sys_select */
> ++		{ .name = "symlink" },
> ++		{ .name = "ni_syscall" },               /* was sys_lstat */
> ++/* 85 */	{ .name = "readlink" },
> ++		{ .name = "uselib" },
> ++		{ .name = "swapon" },
> ++		{ .name = "reboot" },
> ++		{ .name = "ni_syscall" },               /* was sys_readdir */
> ++/* 90 */	{ .name = "ni_syscall" },               /* was sys_mmap */
> ++		{ .name = "munmap" },
> ++		{ .name = "truncate" },
> ++		{ .name = "ftruncate" },
> ++		{ .name = "fchmod" },
> ++/* 95 */	{ .name = "fchown16" },
> ++		{ .name = "getpriority" },
> ++		{ .name = "setpriority" },
> ++		{ .name = "ni_syscall" },               /* was sys_profil */
> ++		{ .name = "statfs" },
> ++/* 100 */	{ .name = "fstatfs" },
> ++		{ .name = "ni_syscall" },               /* was sys_ioperm */
> ++		{ .name = "ni_syscall" },               /* sys_socketcall */
> ++		{ .name = "syslog" },
> ++		{ .name = "setitimer" },
> ++/* 105 */	{ .name = "getitimer" },
> ++		{ .name = "newstat" },
> ++		{ .name = "newlstat" },
> ++		{ .name = "newfstat", .sanitise = sanitise_newfstat },
> ++		{ .name = "ni_syscall" },               /* was sys_uname */
> ++/* 110 */	{ .name = "ni_syscall" },               /* was sys_iopl */
> ++		{ .name = "vhangup" },
> ++		{ .name = "ni_syscall" },               /* was sys_idle */
> ++		{ .name = "ni_syscall" },               /* was sys_syscall */
> ++		{ .name = "wait4" },
> ++/* 115 */	{ .name = "swapoff" },
> ++		{ .name = "sysinfo" },
> ++		{ .name = "ni_syscall" },               /* was sys_ipc */
> ++		{ .name = "fsync" },
> ++		{ .name = "sigreturn_wrapper" },
> ++/* 120 */	{ .name = "clone", .flags = AVOID_SYSCALL  },
> ++		{ .name = "setdomainname" },
> ++		{ .name = "newuname" },
> ++		{ .name = "ni_syscall" },               /* modify_ldt */
> ++		{ .name = "adjtimex" },
> ++/* 125 */	{ .name = "mprotect", .sanitise = sanitise_mprotect },
> ++		{ .name = "sigprocmask" },
> ++		{ .name = "ni_syscall" },               /* sys_create_module */
> ++		{ .name = "init_module" },
> ++		{ .name = "delete_module" },
> ++/* 130 */	{ .name = "ni_syscall" },           /* sys_get_kernel_syms */
> ++		{ .name = "quotactl" },
> ++		{ .name = "getpgid" },
> ++		{ .name = "fchdir" },
> ++		{ .name = "bdflush" },
> ++/* 135 */	{ .name = "sysfs" },
> ++		{ .name = "personality" },
> ++		{ .name = "ni_syscall" },   /* reserved for afs_syscall */
> ++		{ .name = "setfsuid16" },
> ++		{ .name = "setfsgid16" },
> ++/* 140 */	{ .name = "llseek" },
> ++		{ .name = "getdents" },
> ++		{ .name = "select", .flags = AVOID_SYSCALL  },
> ++		{ .name = "flock" },
> ++		{ .name = "msync" },
> ++/* 145 */	{ .name = "readv", .sanitise = sanitise_readv },
> ++		{ .name = "writev", .sanitise = sanitise_writev },
> ++		{ .name = "getsid" },
> ++		{ .name = "fdatasync" },
> ++		{ .name = "sysctl" },
> ++/* 150 */	{ .name = "mlock" },
> ++		{ .name = "munlock" },
> ++		{ .name = "mlockall" },
> ++		{ .name = "munlockall" },
> ++		{ .name = "sched_setparam" },
> ++/* 155 */	{ .name = "sched_getparam" },
> ++		{ .name = "sched_setscheduler" },
> ++		{ .name = "sched_getscheduler" },
> ++		{ .name = "sched_yield" },
> ++		{ .name = "sched_get_priority_max" },
> ++/* 160 */	{ .name = "sched_get_priority_min" },
> ++		{ .name = "sched_rr_get_interval" },
> ++		{ .name = "nanosleep" },
> ++		{ .name = "mremap", .sanitise = sanitise_mremap },
> ++		{ .name = "setresuid16" },
> ++/* 165 */	{ .name = "getresuid16" },
> ++		{ .name = "ni_syscall" },               /* vm86 */
> ++		{ .name = "ni_syscall" },               /* sys_query_module */
> ++		{ .name = "poll" },
> ++		{ .name = "ni_syscall" },
> ++/* 170 */	{ .name = "setresgid16" },
> ++		{ .name = "getresgid16" },
> ++		{ .name = "prctl" },
> ++		{ .name = "rt_sigreturn_wrapper" },
> ++		{ .name = "rt_sigaction", .sanitise = sanitise_rt_sigaction },
> ++/* 175 */	{ .name = "rt_sigprocmask",
> ++			.sanitise = sanitise_rt_sigprocmask },
> ++		{ .name = "rt_sigpending" },
> ++		{ .name = "rt_sigtimedwait" },
> ++		{ .name = "rt_sigqueueinfo" },
> ++		{ .name = "rt_sigsuspend", .flags = AVOID_SYSCALL },
> ++/* 180 */	{ .name = "pread64_wrapper", .sanitise = sanitise_pread64 },
> ++		{ .name = "pwrite64_wrapper", .sanitise = sanitise_pwrite64
> },
> ++		{ .name = "chown16" },
> ++		{ .name = "getcwd" },
> ++		{ .name = "capget" },
> ++/* 185 */	{ .name = "capset" },
> ++		{ .name = "sigaltstack" },
> ++		{ .name = "sendfile" },
> ++		{ .name = "ni_syscall" },               /* reserved */
> ++		{ .name = "ni_syscall" },               /* reserved */
> ++/* 190 */	{ .name = "vfork", .flags = AVOID_SYSCALL },
> ++		{ .name = "getrlimit" },       /* SuS compliant getrlimit */
> ++		{ .name = "mmap2_wrapper", .sanitise = sanitise_mmap },
> ++		{ .name = "truncate64_wrapper" },
> ++		{ .name = "ftruncate64_wrapper" },
> ++/* 195 */	{ .name = "stat64" },
> ++		{ .name = "lstat64" },
> ++		{ .name = "fstat64" },
> ++		{ .name = "lchown" },
> ++		{ .name = "getuid" },
> ++/* 200 */	{ .name = "getgid" },
> ++		{ .name = "geteuid" },
> ++		{ .name = "getegid" },
> ++		{ .name = "setreuid" },
> ++		{ .name = "setregid" },
> ++/* 205 */	{ .name = "getgroups" },
> ++		{ .name = "setgroups" },
> ++		{ .name = "fchown" },
> ++		{ .name = "setresuid" },
> ++		{ .name = "getresuid" },
> ++/* 210 */	{ .name = "setresgid" },
> ++		{ .name = "getresgid" },
> ++		{ .name = "chown" },
> ++		{ .name = "setuid" },
> ++		{ .name = "setgid" },
> ++/* 215 */	{ .name = "setfsuid" },
> ++		{ .name = "setfsgid" },
> ++		{ .name = "getdents64" },
> ++		{ .name = "pivot_root", .flags = CAPABILITY_CHECK },
> ++		{ .name = "mincore" },
> ++/* 220 */	{ .name = "madvise" },
> ++		{ .name = "fcntl64" },
> ++		{ .name = "ni_syscall" }, /* TUX */
> ++		{ .name = "ni_syscall" }, /* unused */
> ++		{ .name = "gettid" },
> ++/* 225 */	{ .name = "readahead_wrapper" },
> ++		{ .name = "setxattr" },
> ++		{ .name = "lsetxattr" },
> ++		{ .name = "fsetxattr" },
> ++		{ .name = "getxattr" },
> ++/* 230 */	{ .name = "lgetxattr" },
> ++		{ .name = "fgetxattr" },
> ++		{ .name = "listxattr" },
> ++		{ .name = "llistxattr" },
> ++		{ .name = "flistxattr" },
> ++/* 235 */	{ .name = "removexattr" },
> ++		{ .name = "lremovexattr" },
> ++		{ .name = "fremovexattr" },
> ++		{ .name = "tkill" },
> ++		{ .name = "sendfile64" },
> ++/* 240 */	{ .name = "futex" },
> ++		{ .name = "sched_setaffinity" },
> ++		{ .name = "sched_getaffinity" },
> ++		{ .name = "io_setup" },
> ++		{ .name = "io_destroy" },
> ++/* 245 */	{ .name = "io_getevents" },
> ++		{ .name = "io_submit" },
> ++		{ .name = "io_cancel" },
> ++		{ .name = "exit_group", .flags = AVOID_SYSCALL },
> ++		{ .name = "lookup_dcookie", .flags = CAPABILITY_CHECK  },
> ++/* 250 */	{ .name = "epoll_create" },
> ++		{ .name = "epoll_ctl" },
> ++		{ .name = "epoll_wait" },
> ++		{ .name = "remap_file_pages" },
> ++		{ .name = "ni_syscall" },       /* sys_set_thread_area */
> ++/* 255 */	{ .name = "ni_syscall" },       /* sys_get_thread_area */
> ++		{ .name = "set_tid_address" },
> ++		{ .name = "timer_create" },
> ++		{ .name = "timer_settime" },
> ++		{ .name = "timer_gettime" },
> ++/* 260 */	{ .name = "timer_getoverrun" },
> ++		{ .name = "timer_delete" },
> ++		{ .name = "clock_settime" },
> ++		{ .name = "clock_gettime" },
> ++		{ .name = "clock_getres" },
> ++/* 265 */	{ .name = "clock_nanosleep" },
> ++		{ .name = "statfs64_wrapper" },
> ++		{ .name = "fstatfs64_wrapper" },
> ++		{ .name = "tgkill" },
> ++		{ .name = "utimes" },
> ++/* 270 */	{ .name = "fadvise64_64_wrapper" },
> ++		{ .name = "pciconfig_iobase" },
> ++		{ .name = "pciconfig_read" },
> ++		{ .name = "pciconfig_write" },
> ++		{ .name = "mq_open" },
> ++/* 275 */	{ .name = "mq_unlink" },
> ++		{ .name = "mq_timedsend" },
> ++		{ .name = "mq_timedreceive" },
> ++		{ .name = "mq_notify" },
> ++		{ .name = "mq_getsetattr" },
> ++/* 280 */	{ .name = "waitid" },
> ++		{ .name = "socket" },
> ++		{ .name = "bind" },
> ++		{ .name = "connect" },
> ++		{ .name = "listen" },
> ++/* 285 */	{ .name = "accept" },
> ++		{ .name = "getsockname" },
> ++		{ .name = "getpeername" },
> ++		{ .name = "socketpair" },
> ++		{ .name = "send" },
> ++/* 290 */	{ .name = "sendto" },
> ++		{ .name = "recv" },
> ++		{ .name = "recvfrom" },
> ++		{ .name = "shutdown" },
> ++		{ .name = "setsockopt" },
> ++/* 295 */	{ .name = "getsockopt" },
> ++		{ .name = "sendmsg" },
> ++		{ .name = "recvmsg" },
> ++		{ .name = "semop" },
> ++		{ .name = "semget" },
> ++/* 300 */	{ .name = "semctl" },
> ++		{ .name = "msgsnd" },
> ++		{ .name = "msgrcv" },
> ++		{ .name = "msgget" },
> ++		{ .name = "msgctl" },
> ++/* 305 */	{ .name = "shmat" },
> ++		{ .name = "shmdt" },
> ++		{ .name = "shmget" },
> ++		{ .name = "shmctl" },
> ++		{ .name = "add_key" },
> ++/* 310 */	{ .name = "request_key" },
> ++		{ .name = "keyctl" },
> ++		{ .name = "semtimedop", },    /* vserver */
> ++		{ .name = "ni_syscall" },
> ++		{ .name = "ioprio_set" },
> ++/* 315 */	{ .name = "ioprio_get" },
> ++		{ .name = "inotify_init" },
> ++		{ .name = "inotify_add_watch" },
> ++		{ .name = "inotify_rm_watch" },
> ++		{ .name = "mbind" },
> ++/* 320 */	{ .name = "get_mempolicy" },
> ++		{ .name = "set_mempolicy" },
> ++		{ .name = "openat" },
> ++		{ .name = "mkdirat" },
> ++		{ .name = "mknodat" },
> ++/* 325 */	{ .name = "fchownat" },
> ++		{ .name = "futimesat" },
> ++		{ .name = "fstatat64" },
> ++		{ .name = "unlinkat" },
> ++		{ .name = "renameat" },
> ++/* 330 */	{ .name = "linkat" },
> ++		{ .name = "symlinkat" },
> ++		{ .name = "readlinkat" },
> ++		{ .name = "fchmodat" },
> ++		{ .name = "faccessat" },
> ++/* 335 */	{ .name = "pselect6" },
> ++		{ .name = "ppoll" },
> ++		{ .name = "unshare" },
> ++		{ .name = "set_robust_list",
> ++			.sanitise = sanitise_set_robust_list },
> ++		{ .name = "get_robust_list" },
> ++/* 340 */	{ .name = "splice", .sanitise = sanitise_splice },
> ++		{ .name = "sync_file_range2_wrapper",
> ++			.sanitise = sanitise_sync_file_range },
> ++		{ .name = "tee", .sanitise = sanitise_tee },
> ++		{ .name = "vmsplice", .sanitise = sanitise_vmsplice },
> ++		{ .name = "move_pages" },
> ++/* 345 */	{ .name = "getcpu" },
> ++		{ .name = "epoll_pwait" },
> ++		{ .name = "kexec_load" },
> ++		{ .name = "utimensat" },
> ++		{ .name = "signalfd" },
> ++/* 350 */	{ .name = "timerfd_create" },
> ++		{ .name = "eventfd" },
> ++		{ .name = "fallocate_wrapper" },
> ++		{ .name = "timerfd_settime" },
> ++		{ .name = "timerfd_gettime" },
> ++/* 355 */	{ .name = "signalfd4" },
> ++		{ .name = "eventfd2" },
> ++		{ .name = "epoll_create1" },
> ++		{ .name = "dup3" },
> ++		{ .name = "pipe2" },
> ++/* 360 */	{ .name = "inotify_init1" },
> ++		{ .name = "preadv" },
> ++		{ .name = "pwritev" },
> ++		{ .name = "rt_tgsigqueueinfo" },
> ++		{ .name = "perf_event_open" },
> ++/* 365 */	{ .name = "recvmmsg" },
> ++		{ .name = "accept4" },
> ++		{ .name = "fanotify_init" },
> ++		{ .name = "fanotify_mark" },
> ++		{ .name = "prlimit64" },
> ++/* 370 */	{ .name = "name_to_handle_at" },
> ++		{ .name = "open_by_handle_at" },
> ++		{ .name = "clock_adjtime" },
> ++		{ .name = "syncfs" },
> ++		{ .name = "sendmmsg" },
> ++/* 375 */	{ .name = "setns" },
> ++		{ .name = "process_vm_readv" },
> ++		{ .name = "process_vm_writev" },
> ++		{ .name = "kcmp" },
> ++		{ .name = "finit_module)" },
> ++/* 380 */	{ .name = "sched_setattr" },
> ++		{ .name = "sched_getattr" },
> ++		{ .name = "renameat2" },
> ++		{ .name = "seccomp" },
> ++		{ .name = "getrandom" },
> ++/* 385 */	{ .name = "memfd_create" },
> ++		{ .name = "bpf" },
> ++		{ .name = "execveat" },
> ++		{ .name = "userfaultfd" },
> ++		{ .name = "membarrier" },
> ++/* 390 */	{ .name = "mlock2" },
> ++		{ .name = "copy_file_range" },
> ++		{ .name = "preadv2" },
> ++		{ .name = "pwritev2" },
> ++};
> diff --git a/engine/tests/Functional.scrashme/spec.json
> b/engine/tests/Functional.scrashme/spec.json
> index d5858f5..922fe7e 100644
> --- a/engine/tests/Functional.scrashme/spec.json
> +++ b/engine/tests/Functional.scrashme/spec.json
> @@ -12,6 +12,10 @@
>          "capcheck": {
>              "NUM":"100",
>              "MODE":"capcheck"
> -        }
> +        },
> +	"all":{
> +	    "NUM":"0",
> +	    "MODE":"rotate"
> +	}
>      }
>  }
> --
> 2.7.4

Thanks for the fix.

-- Tim



More information about the Fuego mailing list