Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package trinity for openSUSE:Factory checked in at 2022-03-10 22:45:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/trinity (Old) and /work/SRC/openSUSE:Factory/.trinity.new.2349 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trinity" Thu Mar 10 22:45:33 2022 rev:70 rq:960754 version:1.9+git.20220309 Changes: -------- --- /work/SRC/openSUSE:Factory/trinity/trinity.changes 2021-12-22 20:19:18.263881861 +0100 +++ /work/SRC/openSUSE:Factory/.trinity.new.2349/trinity.changes 2022-03-11 11:36:59.730318610 +0100 @@ -1,0 +2,11 @@ +Thu Mar 10 12:37:14 UTC 2022 - Martin Pluskal <[email protected]> + +- Update to version 1.9+git.20220309: + * Ignore compiler warning + * fix unlikely overflow in stallcounter + * remove -Wdeclaration-after-statement + * panic when fd number is close to limition + * Fix compiler warning + * add support for riscv64 platform + +------------------------------------------------------------------- Old: ---- trinity-1.9+git.20211129.obscpio New: ---- trinity-1.9+git.20220309.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ trinity.spec ++++++ --- /var/tmp/diff_new_pack.G4VmZz/_old 2022-03-11 11:37:00.434319436 +0100 +++ /var/tmp/diff_new_pack.G4VmZz/_new 2022-03-11 11:37:00.438319440 +0100 @@ -1,7 +1,7 @@ # # spec file for package trinity # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: trinity -Version: 1.9+git.20211129 +Version: 1.9+git.20220309 Release: 0 Summary: A Linux System call fuzz tester License: GPL-2.0-only ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.G4VmZz/_old 2022-03-11 11:37:00.482319492 +0100 +++ /var/tmp/diff_new_pack.G4VmZz/_new 2022-03-11 11:37:00.486319497 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/kernelslacker/trinity</param> - <param name="changesrevision">608712d8bf2dfee14de1bfd0e7c601dce2376808</param></service></servicedata> + <param name="changesrevision">3f8670b2d8b9988fe13f76c96024287fd093fce0</param></service></servicedata> (No newline at EOF) ++++++ trinity-1.9+git.20211129.obscpio -> trinity-1.9+git.20220309.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/Makefile new/trinity-1.9+git.20220309/Makefile --- old/trinity-1.9+git.20211129/Makefile 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/Makefile 2022-03-09 22:23:32.000000000 +0100 @@ -20,7 +20,6 @@ CFLAGS += --sysroot=$(SYSROOT) endif #CFLAGS += $(shell if $(CC) -m32 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-m32"; fi) -CFLAGS += -Wdeclaration-after-statement CFLAGS += -Wformat=2 CFLAGS += -Winit-self CFLAGS += -Wnested-externs diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/fds/drm.c new/trinity-1.9+git.20220309/fds/drm.c --- old/trinity-1.9+git.20211129/fds/drm.c 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/fds/drm.c 2022-03-09 22:23:32.000000000 +0100 @@ -30,7 +30,7 @@ static void drmfd_dump(struct object *obj, bool global) { - output(2, "drmfd:%d\n", obj->drmfd); + output(2, "drmfd:%d global:%d\n", obj->drmfd, global); } static int create_dumb(__unused__ int fd) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/include/arch-riscv64.h new/trinity-1.9+git.20220309/include/arch-riscv64.h --- old/trinity-1.9+git.20211129/include/arch-riscv64.h 1970-01-01 01:00:00.000000000 +0100 +++ new/trinity-1.9+git.20220309/include/arch-riscv64.h 2022-03-09 22:23:32.000000000 +0100 @@ -0,0 +1,16 @@ +#pragma once + +#define PAGE_OFFSET 0xffffffc000000000UL +#define TASK_SIZE (1UL << 39) +#define MODULE_ADDR (PAGE_OFFSET - 0x04000000) +#define KERNEL_ADDR (PAGE_OFFSET + 0x80000) + +#define PAGE_SHIFT 12 +#define PTE_FILE_MAX_BITS 60 + +#define PTRACE_GETREGS 0 +#define PTRACE_GETFPREGS 0 +#define PTRACE_SETREGS 0 +#define PTRACE_SETFPREGS 0 + +#define SYSCALLS syscalls_riscv64 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/include/arch-syscalls.h new/trinity-1.9+git.20220309/include/arch-syscalls.h --- old/trinity-1.9+git.20211129/include/arch-syscalls.h 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/include/arch-syscalls.h 2022-03-09 22:23:32.000000000 +0100 @@ -43,3 +43,10 @@ #ifdef __tile__ #include "syscalls-tile.h" #endif +#if defined(__riscv) || defined(__riscv__) +#if __riscv_xlen == 64 +#include "syscalls-riscv64.h" +#else +#error "riscv32 is not supported yet." +#endif +#endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/include/arch.h new/trinity-1.9+git.20220309/include/arch.h --- old/trinity-1.9+git.20211129/include/arch.h 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/include/arch.h 2022-03-09 22:23:32.000000000 +0100 @@ -54,6 +54,14 @@ #include "arch-tile.h" #endif +#if defined(__riscv) || defined(__riscv__) +#if __riscv_xlen == 64 +#include "arch-riscv64.h" +#else +#error "riscv32 is not supported yet." +#endif +#endif + #ifndef SYSCALL_OFFSET #define SYSCALL_OFFSET 0 #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/include/syscalls-riscv64.h new/trinity-1.9+git.20220309/include/syscalls-riscv64.h --- old/trinity-1.9+git.20211129/include/syscalls-riscv64.h 1970-01-01 01:00:00.000000000 +0100 +++ new/trinity-1.9+git.20220309/include/syscalls-riscv64.h 2022-03-09 22:23:32.000000000 +0100 @@ -0,0 +1,299 @@ +#pragma once + +/* + * Derived from arch/riscv/include/asm/unistd.h + * (inherits from include/uapi/asm-generic/unistd.h) + */ + +#include "sanitise.h" +#include "syscall.h" +#include "syscalls/syscalls.h" + +struct syscalltable syscalls_riscv64[] = { +/* 0 */ { .entry = &syscall_io_setup }, +/* 1 */ { .entry = &syscall_io_destroy }, +/* 2 */ { .entry = &syscall_io_submit }, +/* 3 */ { .entry = &syscall_io_cancel }, +/* 4 */ { .entry = &syscall_io_getevents }, +/* 5 */ { .entry = &syscall_setxattr }, +/* 6 */ { .entry = &syscall_lsetxattr }, +/* 7 */ { .entry = &syscall_fsetxattr }, +/* 8 */ { .entry = &syscall_getxattr }, +/* 9 */ { .entry = &syscall_lgetxattr }, +/* 10 */ { .entry = &syscall_fgetxattr }, +/* 11 */ { .entry = &syscall_listxattr }, +/* 12 */ { .entry = &syscall_llistxattr }, +/* 13 */ { .entry = &syscall_flistxattr }, +/* 14 */ { .entry = &syscall_removexattr }, +/* 15 */ { .entry = &syscall_lremovexattr }, +/* 16 */ { .entry = &syscall_fremovexattr }, +/* 17 */ { .entry = &syscall_getcwd }, +/* 18 */ { .entry = &syscall_lookup_dcookie }, +/* 19 */ { .entry = &syscall_eventfd2 }, +/* 20 */ { .entry = &syscall_epoll_create1 }, +/* 21 */ { .entry = &syscall_epoll_ctl }, +/* 22 */ { .entry = &syscall_epoll_pwait }, +/* 23 */ { .entry = &syscall_dup }, +/* 24 */ { .entry = &syscall_dup3 }, +/* 25 */ { .entry = &syscall_fcntl }, +/* 26 */ { .entry = &syscall_inotify_init1 }, +/* 27 */ { .entry = &syscall_inotify_add_watch }, +/* 28 */ { .entry = &syscall_inotify_rm_watch }, +/* 29 */ { .entry = &syscall_ioctl }, +/* 30 */ { .entry = &syscall_ioprio_set }, +/* 31 */ { .entry = &syscall_ioprio_get }, +/* 32 */ { .entry = &syscall_flock }, +/* 33 */ { .entry = &syscall_mknodat }, +/* 34 */ { .entry = &syscall_mkdirat }, +/* 35 */ { .entry = &syscall_unlinkat }, +/* 36 */ { .entry = &syscall_symlinkat }, +/* 37 */ { .entry = &syscall_linkat }, +/* 38 */ { .entry = &syscall_ni_syscall }, +/* 39 */ { .entry = &syscall_umount }, +/* 40 */ { .entry = &syscall_mount }, +/* 41 */ { .entry = &syscall_pivot_root }, +/* 42 */ { .entry = &syscall_ni_syscall }, +/* 43 */ { .entry = &syscall_statfs }, +/* 44 */ { .entry = &syscall_fstatfs }, +/* 45 */ { .entry = &syscall_truncate }, +/* 46 */ { .entry = &syscall_ftruncate }, +/* 47 */ { .entry = &syscall_fallocate }, +/* 48 */ { .entry = &syscall_faccessat }, +/* 49 */ { .entry = &syscall_chdir }, +/* 50 */ { .entry = &syscall_fchdir }, +/* 51 */ { .entry = &syscall_chroot }, +/* 52 */ { .entry = &syscall_fchmod }, +/* 53 */ { .entry = &syscall_fchmodat }, +/* 54 */ { .entry = &syscall_fchownat }, +/* 55 */ { .entry = &syscall_fchown }, +/* 56 */ { .entry = &syscall_openat }, +/* 57 */ { .entry = &syscall_close }, +/* 58 */ { .entry = &syscall_vhangup }, +/* 59 */ { .entry = &syscall_pipe2 }, +/* 60 */ { .entry = &syscall_quotactl }, +/* 61 */ { .entry = &syscall_getdents64 }, +/* 62 */ { .entry = &syscall_lseek }, +/* 63 */ { .entry = &syscall_read }, +/* 64 */ { .entry = &syscall_write }, +/* 65 */ { .entry = &syscall_readv }, +/* 66 */ { .entry = &syscall_writev }, +/* 67 */ { .entry = &syscall_pread64 }, +/* 68 */ { .entry = &syscall_pwrite64 }, +/* 69 */ { .entry = &syscall_preadv }, +/* 70 */ { .entry = &syscall_pwritev }, +/* 71 */ { .entry = &syscall_sendfile64 }, +/* 72 */ { .entry = &syscall_pselect6 }, +/* 73 */ { .entry = &syscall_ppoll }, +/* 74 */ { .entry = &syscall_signalfd4 }, +/* 75 */ { .entry = &syscall_vmsplice }, +/* 76 */ { .entry = &syscall_splice }, +/* 77 */ { .entry = &syscall_tee }, +/* 78 */ { .entry = &syscall_readlinkat }, +/* 79 */ { .entry = &syscall_newfstatat }, +/* 80 */ { .entry = &syscall_newfstat }, +/* 81 */ { .entry = &syscall_sync }, +/* 82 */ { .entry = &syscall_fsync }, +/* 83 */ { .entry = &syscall_fdatasync }, +/* 84 */ { .entry = &syscall_sync_file_range }, +/* 85 */ { .entry = &syscall_timerfd_create }, +/* 86 */ { .entry = &syscall_timerfd_settime }, +/* 87 */ { .entry = &syscall_timerfd_gettime }, +/* 88 */ { .entry = &syscall_utimensat }, +/* 89 */ { .entry = &syscall_acct }, +/* 90 */ { .entry = &syscall_capget }, +/* 91 */ { .entry = &syscall_capset }, +/* 92 */ { .entry = &syscall_personality }, +/* 93 */ { .entry = &syscall_exit }, +/* 94 */ { .entry = &syscall_exit_group }, +/* 95 */ { .entry = &syscall_waitid }, +/* 96 */ { .entry = &syscall_set_tid_address }, +/* 97 */ { .entry = &syscall_unshare }, +/* 98 */ { .entry = &syscall_futex }, +/* 99 */ { .entry = &syscall_set_robust_list }, +/* 100 */ { .entry = &syscall_get_robust_list }, +/* 101 */ { .entry = &syscall_nanosleep }, +/* 102 */ { .entry = &syscall_getitimer }, +/* 103 */ { .entry = &syscall_setitimer }, +/* 104 */ { .entry = &syscall_kexec_load }, +/* 105 */ { .entry = &syscall_init_module }, +/* 106 */ { .entry = &syscall_delete_module }, +/* 107 */ { .entry = &syscall_timer_create }, +/* 108 */ { .entry = &syscall_timer_gettime }, +/* 109 */ { .entry = &syscall_timer_getoverrun }, +/* 110 */ { .entry = &syscall_timer_settime }, +/* 111 */ { .entry = &syscall_timer_delete }, +/* 112 */ { .entry = &syscall_clock_settime }, +/* 113 */ { .entry = &syscall_clock_gettime }, +/* 114 */ { .entry = &syscall_clock_getres }, +/* 115 */ { .entry = &syscall_clock_nanosleep }, +/* 116 */ { .entry = &syscall_syslog }, +/* 117 */ { .entry = &syscall_ptrace }, +/* 118 */ { .entry = &syscall_sched_setparam }, +/* 119 */ { .entry = &syscall_sched_setscheduler }, +/* 120 */ { .entry = &syscall_sched_getscheduler }, +/* 121 */ { .entry = &syscall_sched_getparam }, +/* 122 */ { .entry = &syscall_sched_setaffinity }, +/* 123 */ { .entry = &syscall_sched_getaffinity }, +/* 124 */ { .entry = &syscall_sched_yield }, +/* 125 */ { .entry = &syscall_sched_get_priority_max }, +/* 126 */ { .entry = &syscall_sched_get_priority_min }, +/* 127 */ { .entry = &syscall_sched_rr_get_interval }, +/* 128 */ { .entry = &syscall_restart_syscall }, +/* 129 */ { .entry = &syscall_kill }, +/* 130 */ { .entry = &syscall_tkill }, +/* 131 */ { .entry = &syscall_tgkill }, +/* 132 */ { .entry = &syscall_sigaltstack }, +/* 133 */ { .entry = &syscall_rt_sigsuspend }, +/* 134 */ { .entry = &syscall_rt_sigaction }, +/* 135 */ { .entry = &syscall_rt_sigprocmask }, +/* 136 */ { .entry = &syscall_rt_sigpending }, +/* 137 */ { .entry = &syscall_rt_sigtimedwait }, +/* 138 */ { .entry = &syscall_rt_sigqueueinfo }, +/* 139 */ { .entry = &syscall_rt_sigreturn }, +/* 140 */ { .entry = &syscall_setpriority }, +/* 141 */ { .entry = &syscall_getpriority }, +/* 142 */ { .entry = &syscall_reboot }, +/* 143 */ { .entry = &syscall_setregid }, +/* 144 */ { .entry = &syscall_setgid }, +/* 145 */ { .entry = &syscall_setreuid }, +/* 146 */ { .entry = &syscall_setuid }, +/* 147 */ { .entry = &syscall_setresuid }, +/* 148 */ { .entry = &syscall_getresuid }, +/* 149 */ { .entry = &syscall_setresgid }, +/* 150 */ { .entry = &syscall_getresgid }, +/* 151 */ { .entry = &syscall_setfsuid }, +/* 152 */ { .entry = &syscall_setfsgid }, +/* 153 */ { .entry = &syscall_times }, +/* 154 */ { .entry = &syscall_setpgid }, +/* 155 */ { .entry = &syscall_getpgid }, +/* 156 */ { .entry = &syscall_getsid }, +/* 157 */ { .entry = &syscall_setsid }, +/* 158 */ { .entry = &syscall_getgroups }, +/* 159 */ { .entry = &syscall_setgroups }, +/* 160 */ { .entry = &syscall_newuname }, +/* 161 */ { .entry = &syscall_sethostname }, +/* 162 */ { .entry = &syscall_setdomainname }, +/* 163 */ { .entry = &syscall_getrlimit }, +/* 164 */ { .entry = &syscall_setrlimit }, +/* 165 */ { .entry = &syscall_getrusage }, +/* 166 */ { .entry = &syscall_umask }, +/* 167 */ { .entry = &syscall_prctl }, +/* 168 */ { .entry = &syscall_getcpu }, +/* 169 */ { .entry = &syscall_gettimeofday }, +/* 170 */ { .entry = &syscall_settimeofday }, +/* 171 */ { .entry = &syscall_adjtimex }, +/* 172 */ { .entry = &syscall_getpid }, +/* 173 */ { .entry = &syscall_getppid }, +/* 174 */ { .entry = &syscall_getuid }, +/* 175 */ { .entry = &syscall_geteuid }, +/* 176 */ { .entry = &syscall_getgid }, +/* 177 */ { .entry = &syscall_getegid }, +/* 178 */ { .entry = &syscall_gettid }, +/* 179 */ { .entry = &syscall_sysinfo }, +/* 180 */ { .entry = &syscall_mq_open }, +/* 181 */ { .entry = &syscall_mq_unlink }, +/* 182 */ { .entry = &syscall_mq_timedsend }, +/* 183 */ { .entry = &syscall_mq_timedreceive }, +/* 184 */ { .entry = &syscall_mq_notify }, +/* 185 */ { .entry = &syscall_mq_getsetattr }, +/* 186 */ { .entry = &syscall_msgget }, +/* 187 */ { .entry = &syscall_msgctl }, +/* 188 */ { .entry = &syscall_msgrcv }, +/* 189 */ { .entry = &syscall_msgsnd }, +/* 190 */ { .entry = &syscall_semget }, +/* 191 */ { .entry = &syscall_semctl }, +/* 192 */ { .entry = &syscall_semtimedop }, +/* 193 */ { .entry = &syscall_semop }, +/* 194 */ { .entry = &syscall_shmget }, +/* 195 */ { .entry = &syscall_shmctl }, +/* 196 */ { .entry = &syscall_shmat }, +/* 197 */ { .entry = &syscall_shmdt }, +/* 198 */ { .entry = &syscall_socket }, +/* 199 */ { .entry = &syscall_socketpair }, +/* 200 */ { .entry = &syscall_bind }, +/* 201 */ { .entry = &syscall_listen }, +/* 202 */ { .entry = &syscall_accept }, +/* 203 */ { .entry = &syscall_connect }, +/* 204 */ { .entry = &syscall_getsockname }, +/* 205 */ { .entry = &syscall_getpeername }, +/* 206 */ { .entry = &syscall_sendto }, +/* 207 */ { .entry = &syscall_recvfrom }, +/* 208 */ { .entry = &syscall_setsockopt }, +/* 209 */ { .entry = &syscall_getsockopt }, +/* 210 */ { .entry = &syscall_shutdown }, +/* 211 */ { .entry = &syscall_sendmsg }, +/* 212 */ { .entry = &syscall_recvmsg }, +/* 213 */ { .entry = &syscall_readahead }, +/* 214 */ { .entry = &syscall_brk }, +/* 215 */ { .entry = &syscall_munmap }, +/* 216 */ { .entry = &syscall_mremap }, +/* 217 */ { .entry = &syscall_add_key }, +/* 218 */ { .entry = &syscall_request_key }, +/* 219 */ { .entry = &syscall_keyctl }, +/* 220 */ { .entry = &syscall_clone }, +/* 221 */ { .entry = &syscall_execve }, +/* 222 */ { .entry = &syscall_mmap }, +/* 223 */ { .entry = &syscall_fadvise64_64 }, +/* 224 */ { .entry = &syscall_swapon }, +/* 225 */ { .entry = &syscall_swapoff }, +/* 226 */ { .entry = &syscall_mprotect }, +/* 227 */ { .entry = &syscall_msync }, +/* 228 */ { .entry = &syscall_mlock }, +/* 229 */ { .entry = &syscall_munlock }, +/* 230 */ { .entry = &syscall_mlockall }, +/* 231 */ { .entry = &syscall_munlockall }, +/* 232 */ { .entry = &syscall_mincore }, +/* 233 */ { .entry = &syscall_madvise }, +/* 234 */ { .entry = &syscall_remap_file_pages }, +/* 235 */ { .entry = &syscall_mbind }, +/* 236 */ { .entry = &syscall_get_mempolicy }, +/* 237 */ { .entry = &syscall_set_mempolicy }, +/* 238 */ { .entry = &syscall_migrate_pages }, +/* 239 */ { .entry = &syscall_move_pages }, +/* 240 */ { .entry = &syscall_rt_tgsigqueueinfo }, +/* 241 */ { .entry = &syscall_perf_event_open }, +/* 242 */ { .entry = &syscall_accept4 }, +/* 243 */ { .entry = &syscall_recvmmsg }, +/* 244 */ { .entry = &syscall_ni_syscall }, +/* 245 */ { .entry = &syscall_ni_syscall }, +/* 246 */ { .entry = &syscall_ni_syscall }, +/* 247 */ { .entry = &syscall_ni_syscall }, +/* 248 */ { .entry = &syscall_ni_syscall }, +/* 249 */ { .entry = &syscall_ni_syscall }, +/* 250 */ { .entry = &syscall_ni_syscall }, +/* 251 */ { .entry = &syscall_ni_syscall }, +/* 252 */ { .entry = &syscall_ni_syscall }, +/* 253 */ { .entry = &syscall_ni_syscall }, +/* 254 */ { .entry = &syscall_ni_syscall }, +/* 255 */ { .entry = &syscall_ni_syscall }, +/* 256 */ { .entry = &syscall_ni_syscall }, +/* 257 */ { .entry = &syscall_ni_syscall }, +/* 258 */ { .entry = &syscall_ni_syscall }, +/* 259 */ { .entry = &syscall_riscv_flush_icache }, +/* 260 */ { .entry = &syscall_wait4 }, +/* 261 */ { .entry = &syscall_prlimit64 }, +/* 262 */ { .entry = &syscall_fanotify_init }, +/* 263 */ { .entry = &syscall_fanotify_mark }, +/* 264 */ { .entry = &syscall_name_to_handle_at }, +/* 265 */ { .entry = &syscall_open_by_handle_at }, +/* 266 */ { .entry = &syscall_clock_adjtime }, +/* 267 */ { .entry = &syscall_syncfs }, +/* 268 */ { .entry = &syscall_setns }, +/* 269 */ { .entry = &syscall_sendmmsg }, +/* 270 */ { .entry = &syscall_process_vm_readv }, +/* 271 */ { .entry = &syscall_process_vm_writev }, +/* 272 */ { .entry = &syscall_kcmp }, +/* 273 */ { .entry = &syscall_finit_module }, +/* 274 */ { .entry = &syscall_sched_setattr }, +/* 275 */ { .entry = &syscall_sched_getattr }, +/* 276 */ { .entry = &syscall_renameat2 }, +/* 277 */ { .entry = &syscall_seccomp }, +/* 278 */ { .entry = &syscall_getrandom }, +/* 279 */ { .entry = &syscall_memfd_create }, +#ifdef USE_BPF +/* 280 */ { .entry = &syscall_bpf }, +#else + { .entry = NULL }, +#endif +/* 281 */ { .entry = &syscall_execveat }, +}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/include/trinity.h new/trinity-1.9+git.20220309/include/trinity.h --- old/trinity-1.9+git.20211129/include/trinity.h 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/include/trinity.h 2022-03-09 22:23:32.000000000 +0100 @@ -3,6 +3,7 @@ #include "types.h" extern unsigned int num_online_cpus; +extern struct rlimit max_files_rlimit; extern bool no_bind_to_cpu; extern char *progname; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/include/utils.h new/trinity-1.9+git.20220309/include/utils.h --- old/trinity-1.9+git.20211129/include/utils.h 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/include/utils.h 2022-03-09 22:23:32.000000000 +0100 @@ -55,6 +55,8 @@ void freeptr(unsigned long *p); +int get_num_fds(void); + #define __stringify_1(x...) #x #define __stringify(x...) __stringify_1(x) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/main.c new/trinity-1.9+git.20220309/main.c --- old/trinity-1.9+git.20211129/main.c 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/main.c 2022-03-09 22:23:32.000000000 +0100 @@ -5,6 +5,7 @@ #include <stdlib.h> #include <sys/prctl.h> #include <sys/ptrace.h> +#include <sys/resource.h> #include <sys/stat.h> #include <sys/types.h> #include <sys/wait.h> @@ -22,6 +23,7 @@ #include "tables.h" #include "taint.h" #include "trinity.h" +#include "utils.h" static void handle_child(int childno, pid_t childpid, int childstatus); @@ -462,6 +464,13 @@ /* Child won't get out of init_child until we write the pid */ pids[childno] = pid; + int nr_fds = get_num_fds(); + if ((max_files_rlimit.rlim_cur - nr_fds) < 3) + { + // child->pidstatfile may be NULL below if fd limition is reached. + outputerr("current number of fd: %d, please consider ulimit -n xxx to increase fd limition\n", nr_fds); + panic(EXIT_NO_FDS); + } child->pidstatfile = open_child_pidstat(pid); shm->running_childs++; @@ -679,7 +688,7 @@ if (shm->stats.op_count - lastcount > 10000) { char stalltxt[]=" STALLED:XXXX"; - if (stall_count > 0) + if (stall_count > 0 && stall_count < 10000) sprintf(stalltxt, " STALLED:%u", stall_count); output(0, "%ld iterations. [F:%ld S:%ld HI:%ld%s]\n", shm->stats.op_count, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/net/proto-phonet.c new/trinity-1.9+git.20220309/net/proto-phonet.c --- old/trinity-1.9+git.20211129/net/proto-phonet.c 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/net/proto-phonet.c 2022-03-09 22:23:32.000000000 +0100 @@ -9,6 +9,8 @@ #include "utils.h" #include "compat.h" +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" + static void phonet_gen_sockaddr(struct sockaddr **addr, socklen_t *addrlen) { struct sockaddr_pn *pn; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/net/proto-pppox.c new/trinity-1.9+git.20220309/net/proto-pppox.c --- old/trinity-1.9+git.20211129/net/proto-pppox.c 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/net/proto-pppox.c 2022-03-09 22:23:32.000000000 +0100 @@ -13,6 +13,8 @@ #include "utils.h" #include "compat.h" +#pragma GCC diagnostic ignored "-Waddress-of-packed-member" + static void pppox_PX_PROTO_OE(struct sockaddr **addr, socklen_t *addrlen) { struct sockaddr_pppox *pppox; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/syscalls/riscv_flush_icache.c new/trinity-1.9+git.20220309/syscalls/riscv_flush_icache.c --- old/trinity-1.9+git.20211129/syscalls/riscv_flush_icache.c 1970-01-01 01:00:00.000000000 +0100 +++ new/trinity-1.9+git.20220309/syscalls/riscv_flush_icache.c 2022-03-09 22:23:32.000000000 +0100 @@ -0,0 +1,25 @@ +/* + * SYSCALL_DEFINE4(wait4, pid_t, upid, int __user *, stat_addr, + int, options, struct rusage __user *, ru) + */ +#include "sanitise.h" + +#ifndef SYS_RISCV_FLUSH_ICACHE_LOCAL +#define SYS_RISCV_FLUSH_ICACHE_LOCAL 1UL +#endif + +static unsigned long riscv_flush_icache_flags[] = { + SYS_RISCV_FLUSH_ICACHE_LOCAL, +}; + +struct syscallentry syscall_riscv_flush_icache = { + .name = "riscv_flush_icache", + .num_args = 3, + .arg1name = "start", + .arg1type = ARG_ADDRESS, + .arg2name = "end", + .arg2type = ARG_ADDRESS, + .arg3name = "flags", + .arg3type = ARG_OP, + .arg3list = ARGLIST(riscv_flush_icache_flags), +}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/syscalls/syscalls.h new/trinity-1.9+git.20220309/syscalls/syscalls.h --- old/trinity-1.9+git.20211129/syscalls/syscalls.h 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/syscalls/syscalls.h 2022-03-09 22:23:32.000000000 +0100 @@ -420,4 +420,6 @@ extern struct syscallentry syscall_s390_guarded_storage; extern struct syscallentry syscall_s390_sthyi; +extern struct syscallentry syscall_riscv_flush_icache; + unsigned int random_fcntl_setfl_flags(void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/trinity.c new/trinity-1.9+git.20220309/trinity.c --- old/trinity-1.9+git.20211129/trinity.c 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/trinity.c 2022-03-09 22:23:32.000000000 +0100 @@ -2,6 +2,7 @@ #include <malloc.h> #include <string.h> #include <sys/prctl.h> +#include <sys/resource.h> #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> @@ -36,6 +37,7 @@ unsigned int num_online_cpus; bool no_bind_to_cpu; unsigned int max_children; +struct rlimit max_files_rlimit; /* * just in case we're not using the test.sh harness, we @@ -107,6 +109,8 @@ mainpid = getpid(); + getrlimit(RLIMIT_NOFILE, &max_files_rlimit); + page_size = getpagesize(); num_online_cpus = sysconf(_SC_NPROCESSORS_ONLN); max_children = num_online_cpus * 4; /* possibly overridden in params. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.9+git.20211129/utils.c new/trinity-1.9+git.20220309/utils.c --- old/trinity-1.9+git.20211129/utils.c 2021-11-29 06:50:19.000000000 +0100 +++ new/trinity-1.9+git.20220309/utils.c 2022-03-09 22:23:32.000000000 +0100 @@ -1,9 +1,13 @@ +#include <dirent.h> #include <errno.h> +#include <fcntl.h> #include <sys/mman.h> +#include <sys/types.h> #include <signal.h> #include <stdlib.h> #include <stdio.h> #include <string.h> +#include <unistd.h> #include "debug.h" #include "pids.h" #include "random.h" @@ -107,3 +111,20 @@ free(ptr); *p = 0L; } + +int get_num_fds(void) +{ + int fd_count; + char buf[64]; + struct dirent *dp; + + snprintf(buf, 64, "/proc/%i/fd/", mainpid); + + fd_count = 0; + DIR *dir = opendir(buf); + while ((dp = readdir(dir)) != NULL) { + fd_count++; + } + closedir(dir); + return fd_count; +} ++++++ trinity.obsinfo ++++++ --- /var/tmp/diff_new_pack.G4VmZz/_old 2022-03-11 11:37:00.734319788 +0100 +++ /var/tmp/diff_new_pack.G4VmZz/_new 2022-03-11 11:37:00.738319792 +0100 @@ -1,6 +1,5 @@ name: trinity -version: 1.9+git.20211129 -mtime: 1638165019 -commit: 608712d8bf2dfee14de1bfd0e7c601dce2376808 - +version: 1.9+git.20220309 +mtime: 1646861012 +commit: 3f8670b2d8b9988fe13f76c96024287fd093fce0
