Hello community, here is the log from the commit of package trinity for openSUSE:Factory checked in at 2017-11-10 14:57:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/trinity (Old) and /work/SRC/openSUSE:Factory/.trinity.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trinity" Fri Nov 10 14:57:31 2017 rev:46 rq:540176 version:1.8+git.20171103 Changes: -------- --- /work/SRC/openSUSE:Factory/trinity/trinity.changes 2017-10-26 18:45:58.327504239 +0200 +++ /work/SRC/openSUSE:Factory/.trinity.new/trinity.changes 2017-11-10 14:57:45.663288964 +0100 @@ -1,0 +2,13 @@ +Thu Nov 09 10:07:14 UTC 2017 - [email protected] + +- Update to version 1.8+git.20171103: + * add SO_ZEROCOPY + * add statx for i386 + * add MSG_ZEROCOPY + * add new madvise flags + * update hashes + * perf_event_open: update features to 4.14-rc6 + * TODO: some extra cmdline args + * 1.8 release + +------------------------------------------------------------------- Old: ---- trinity-1.7+git.20171006.tar.xz New: ---- trinity-1.8+git.20171103.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ trinity.spec ++++++ --- /var/tmp/diff_new_pack.CqNHk3/_old 2017-11-10 14:57:46.679252215 +0100 +++ /var/tmp/diff_new_pack.CqNHk3/_new 2017-11-10 14:57:46.679252215 +0100 @@ -16,9 +16,9 @@ # -%define version_unconverted 1.7+git.20171006 +%define version_unconverted 1.8+git.20171103 Name: trinity -Version: 1.7+git.20171006 +Version: 1.8+git.20171103 Release: 0 Summary: A Linux System call fuzz tester License: GPL-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.CqNHk3/_old 2017-11-10 14:57:46.711251058 +0100 +++ /var/tmp/diff_new_pack.CqNHk3/_new 2017-11-10 14:57:46.715250914 +0100 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="changesgenerate">enable</param> <param name="filename">trinity</param> - <param name="versionformat">1.7+git.%cd</param> + <param name="versionformat">1.8+git.%cd</param> </service> <service mode="disabled" name="recompress"> <param name="file">*.tar</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.CqNHk3/_old 2017-11-10 14:57:46.735250191 +0100 +++ /var/tmp/diff_new_pack.CqNHk3/_new 2017-11-10 14:57:46.735250191 +0100 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/kernelslacker/trinity</param> - <param name="changesrevision">d4cb8d894ba32d1417ef8eb422515abb64ddf111</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">6ddabfd29480a6a526895a578c56bc8051228c15</param></service></servicedata> \ No newline at end of file ++++++ trinity-1.7+git.20171006.tar.xz -> trinity-1.8+git.20171103.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/Documentation/TODO new/trinity-1.8+git.20171103/Documentation/TODO --- old/trinity-1.7+git.20171006/Documentation/TODO 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/Documentation/TODO 2017-11-03 16:14:07.000000000 +0100 @@ -206,8 +206,11 @@ - function that takes a void * and outputs what it is (mapping, page_* etc) (searches various lists etc) -* --dry-run mode. +* Extra command line args. + --dry-run mode. need to work around segv's when we do things like mmap->post and register null maps. + --disable-fault-injection + --pause (reinstate the old code to pause for a second after a syscall) * fd handling improvements. - kill off NR_FILE_FDS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/Makefile new/trinity-1.8+git.20171103/Makefile --- old/trinity-1.7+git.20171006/Makefile 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/Makefile 2017-11-03 16:14:07.000000000 +0100 @@ -1,4 +1,4 @@ -VERSION="1.8pre" +VERSION="1.8" ifeq (,$(findstring pre,$(VERSION))) DEVEL = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/include/compat.h new/trinity-1.8+git.20171103/include/compat.h --- old/trinity-1.7+git.20171006/include/compat.h 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/include/compat.h 2017-11-03 16:14:07.000000000 +0100 @@ -138,6 +138,12 @@ #ifndef MADV_DODUMP #define MADV_DODUMP 17 #endif +#ifndef MADV_WIPEONFORK +#define MADV_WIPEONFORK 18 +#endif +#ifndef MADV_KEEPONFORK +#define MADV_KEEPONFORK 19 +#endif /* bits/socket.h */ @@ -250,6 +256,10 @@ #define MSG_BATCH 0x40000 #endif +#ifndef MSG_ZEROCOPY +#define MSG_ZEROCOPY 0x4000000 +#endif + #ifndef MSG_CMSG_CLOEXEC #define MSG_CMSG_CLOEXEC 0x40000000 #endif @@ -525,7 +535,9 @@ #define SO_PEERGROUPS 59 #endif - +#ifndef SO_ZEROCOPY +#define SO_ZEROCOPY 60 +#endif /* linux/tcp.h */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/include/perf_event.h new/trinity-1.8+git.20171103/include/perf_event.h --- old/trinity-1.7+git.20171006/include/perf_event.h 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/include/perf_event.h 2017-11-03 16:14:07.000000000 +0100 @@ -138,8 +138,9 @@ PERF_SAMPLE_IDENTIFIER = 1U << 16, PERF_SAMPLE_TRANSACTION = 1U << 17, PERF_SAMPLE_REGS_INTR = 1U << 18, + PERF_SAMPLE_PHYS_ADDR = 1U << 19, - PERF_SAMPLE_MAX = 1U << 19, /* non-ABI */ + PERF_SAMPLE_MAX = 1U << 20, /* non-ABI */ }; /* @@ -173,6 +174,8 @@ PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14, /* no flags */ PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, /* no cycles */ + PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16, /* save branch type */ + PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */ }; @@ -197,9 +200,30 @@ PERF_SAMPLE_BRANCH_NO_FLAGS = 1U << PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT, PERF_SAMPLE_BRANCH_NO_CYCLES = 1U << PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT, + PERF_SAMPLE_BRANCH_TYPE_SAVE = + 1U << PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT, + PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, }; +/* + * Common flow change classification + */ +enum { + PERF_BR_UNKNOWN = 0, /* unknown */ + PERF_BR_COND = 1, /* conditional */ + PERF_BR_UNCOND = 2, /* unconditional */ + PERF_BR_IND = 3, /* indirect */ + PERF_BR_CALL = 4, /* function call */ + PERF_BR_IND_CALL = 5, /* indirect function call */ + PERF_BR_RET = 6, /* function return */ + PERF_BR_SYSCALL = 7, /* syscall */ + PERF_BR_SYSRET = 8, /* syscall return */ + PERF_BR_COND_CALL = 9, /* conditional function call */ + PERF_BR_COND_RET = 10, /* conditional function return */ + PERF_BR_MAX, +}; + #define PERF_SAMPLE_BRANCH_PLM_ALL \ (PERF_SAMPLE_BRANCH_USER|\ PERF_SAMPLE_BRANCH_KERNEL|\ @@ -343,7 +367,8 @@ use_clockid : 1, /* use @clockid for time fields */ context_switch : 1, /* context switch data */ write_backward : 1, /* Write ring buffer from end to beginning */ - __reserved_1 : 36; + namespaces : 1, /* include namespaces data */ + __reserved_1 : 35; union { __u32 wakeup_events; /* wakeup every n events */ @@ -609,6 +634,23 @@ __u16 size; }; +struct perf_ns_link_info { + __u64 dev; + __u64 ino; +}; + +enum { + NET_NS_INDEX = 0, + UTS_NS_INDEX = 1, + IPC_NS_INDEX = 2, + PID_NS_INDEX = 3, + USER_NS_INDEX = 4, + MNT_NS_INDEX = 5, + CGROUP_NS_INDEX = 6, + + NR_NAMESPACES, /* number of available namespaces */ +}; + enum perf_event_type { /* @@ -772,6 +814,7 @@ * { u64 transaction; } && PERF_SAMPLE_TRANSACTION * { u64 abi; # enum perf_sample_regs_abi * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_INTR + * { u64 phys_addr;} && PERF_SAMPLE_PHYS_ADDR * }; */ PERF_RECORD_SAMPLE = 9, @@ -861,6 +904,18 @@ */ PERF_RECORD_SWITCH_CPU_WIDE = 15, + /* + * struct { + * struct perf_event_header header; + * u32 pid; + * u32 tid; + * u64 nr_namespaces; + * { u64 dev, inode; } [nr_namespaces]; + * struct sample_id sample_id; + * }; + */ + PERF_RECORD_NAMESPACES = 16, + PERF_RECORD_MAX, /* non-ABI */ }; @@ -884,12 +939,14 @@ */ #define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */ #define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */ +#define PERF_AUX_FLAG_PARTIAL 0x04 /* record contains gaps */ #define PERF_FLAG_FD_NO_GROUP (1UL << 0) #define PERF_FLAG_FD_OUTPUT (1UL << 1) #define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */ #define PERF_FLAG_FD_CLOEXEC (1UL << 3) /* O_CLOEXEC */ +#if defined(__LITTLE_ENDIAN_BITFIELD) union perf_mem_data_src { __u64 val; struct { @@ -898,9 +955,30 @@ mem_snoop:5, /* snoop mode */ mem_lock:2, /* lock instr */ mem_dtlb:7, /* tlb access */ - mem_rsvd:31; + mem_lvl_num:4, /* memory hierarchy level number */ + mem_remote:1, /* remote */ + mem_snoopx:2, /* snoop mode, ext */ + mem_rsvd:24; }; }; +#elif defined(__BIG_ENDIAN_BITFIELD) +union perf_mem_data_src { + __u64 val; + struct { + __u64 mem_rsvd:24, + mem_snoopx:2, /* snoop mode, ext */ + mem_remote:1, /* remote */ + mem_lvl_num:4, /* memory hierarchy level number */ + mem_dtlb:7, /* tlb access */ + mem_lock:2, /* lock instr */ + mem_snoop:5, /* snoop mode */ + mem_lvl:14, /* memory hierarchy level */ + mem_op:5; /* type of opcode */ + }; +}; +#else +#error "Unknown endianness" +#endif /* type of opcode (load/store/prefetch,code) */ #define PERF_MEM_OP_NA 0x01 /* not available */ @@ -927,6 +1005,22 @@ #define PERF_MEM_LVL_UNC 0x2000 /* Uncached memory */ #define PERF_MEM_LVL_SHIFT 5 +#define PERF_MEM_REMOTE_REMOTE 0x01 /* Remote */ +#define PERF_MEM_REMOTE_SHIFT 37 + +#define PERF_MEM_LVLNUM_L1 0x01 /* L1 */ +#define PERF_MEM_LVLNUM_L2 0x02 /* L2 */ +#define PERF_MEM_LVLNUM_L3 0x03 /* L3 */ +#define PERF_MEM_LVLNUM_L4 0x04 /* L4 */ +/* 5-0xa available */ +#define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */ +#define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */ +#define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */ +#define PERF_MEM_LVLNUM_PMEM 0x0e /* PMEM */ +#define PERF_MEM_LVLNUM_NA 0x0f /* N/A */ + +#define PERF_MEM_LVLNUM_SHIFT 33 + /* snoop mode */ #define PERF_MEM_SNOOP_NA 0x01 /* not available */ #define PERF_MEM_SNOOP_NONE 0x02 /* no snoop */ @@ -935,6 +1029,10 @@ #define PERF_MEM_SNOOP_HITM 0x10 /* snoop hit modified */ #define PERF_MEM_SNOOP_SHIFT 19 +#define PERF_MEM_SNOOPX_FWD 0x01 /* forward */ +/* 1 free */ +#define PERF_MEM_SNOOPX_SHIFT 37 + /* locked instruction */ #define PERF_MEM_LOCK_NA 0x01 /* not available */ #define PERF_MEM_LOCK_LOCKED 0x02 /* locked transaction */ @@ -967,6 +1065,7 @@ * in_tx: running in a hardware transaction * abort: aborting a hardware transaction * cycles: cycles from last branch (or 0 if not supported) + * type: branch type */ struct perf_branch_entry { __u64 from; @@ -976,5 +1075,6 @@ in_tx:1, /* in transaction */ abort:1, /* transaction abort */ cycles:16, /* cycle count to last branch */ - reserved:44; + type:4, /* branch type */ + reserved:40; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/include/syscalls-i386.h new/trinity-1.8+git.20171103/include/syscalls-i386.h --- old/trinity-1.7+git.20171006/include/syscalls-i386.h 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/include/syscalls-i386.h 2017-11-03 16:14:07.000000000 +0100 @@ -1,6 +1,6 @@ #pragma once -/* Syscalls from arch/x86/syscalls/syscall_32.tbl */ +/* Syscalls from arch/x86/entry/syscalls/syscall_32.tbl */ #include "sanitise.h" #include "syscall.h" @@ -394,4 +394,5 @@ { .entry = &syscall_pkey_mprotect }, { .entry = &syscall_pkey_alloc }, { .entry = &syscall_pkey_free }, + { .entry = &syscall_statx }, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/scripts/hashcheck.sh new/trinity-1.8+git.20171103/scripts/hashcheck.sh --- old/trinity-1.7+git.20171006/scripts/hashcheck.sh 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/scripts/hashcheck.sh 2017-11-03 16:14:07.000000000 +0100 @@ -20,12 +20,16 @@ fi } + # new syscalls -check include/uapi/asm-generic/unistd.h f639f3e7152473778b30cbc59b55acb36b9970f4 sys_ +# Note: Commented out checks are likely out of date, but they're for architectures +# I don't have time to care about. Step up and contribute if you care. +# +check include/uapi/asm-generic/unistd.h e1f35cf48a7ae6a07949ad3e875cb7937c2c6cf0 sys_ #check arch/alpha/include/uapi/asm/unistd.h 51fa669a21d8f26a0c9de8280a3cfd9c257a0d28 _NR_ #check arch/arm/include/uapi/asm/unistd.h 7c601d436a3ebbe05a9b6813c0ffcf8eedaf101b SYSCALL check arch/x86/entry/syscalls/syscall_32.tbl 1b9ed3050a88b2d84bdb7dbcfe2ab23b8234bee8 sys_ -check arch/x86/entry/syscalls/syscall_64.tbl d96a3053b5267a3191df9a459274dbec738947f8 sys_ +check arch/x86/entry/syscalls/syscall_64.tbl d52841da5ee801bfd7277fccf5b76d30566ace1a sys_ check arch/x86/entry/syscalls/syscall_64.tbl da39a3ee5e6b4b0d3255bfef95601890afd80709 stub_ #check arch/ia64/kernel/entry.S e6a21b973609ec08cd19b0b8c67830f8570e93ef "data8\ sys_" #check arch/mips/kernel/scall32-o32.S b1501a675dd998fe2af68ae43cd797cf18d67b33 sys_ @@ -36,16 +40,16 @@ #check arch/sparc/kernel/systbls_32.S 98100f9dedc82d82ac18a33fd68dc7e4852ffcb8 sys_ # new setsockopt values -check include/uapi/asm-generic/socket.h 07d5ff722694d6dbb02b9e176d5155a0bfb82dcb SO_ +check include/uapi/asm-generic/socket.h 848bfd5d1700324c48e1216da2abdda7515b230b SO_ check include/uapi/linux/tcp.h ed5bbfa500b64aad4d742b2eed0d35ce22ab36b8 \#define\ TCP_ check include/uapi/linux/in.h 0116e6878df350e74ec730fd9f455efb95e510c8 \#define\ IP_ # Check for new packet families -check include/linux/socket.h 1d7b02dedfa31669e23495f3c854e6e1f0fc2ce2 SOL_ +check include/linux/socket.h 17b4779bb45a76825972f41d1fa1f8d2b908a21b SOL_ check include/linux/socket.h 80c34154051e712d03e81577d494efe8f09139a8 AF_ # MSG_ flags -check include/linux/socket.h 8a16113605d79d8f280345857d40779a3b8b48cc \ MSG_ +check include/linux/socket.h 91b84d05363d32e88375567a9bb7a4e16d738ea8 \ MSG_ # new netlink protos check include/uapi/linux/netlink.h 1f391f35d0443f432871cbb366d1150973eb2bcb "#define\ NETLINK_" @@ -60,7 +64,7 @@ check include/linux/splice.h fb753f99bf38f7c041427c442f199aa2049fa329 SPLICE_F_ # new madvise flags -check include/uapi/asm-generic/mman-common.h 2baddc86959839fbc367eff0c3fe830bce866d7c MADV_ +check include/uapi/asm-generic/mman-common.h c6e990af02fd65c13c5e25c2d4e7dffa32724b23 MADV_ # new mremap flags check include/uapi/linux/mman.h 556bcea4a4581a03a600c2d383c462840f1c0e6c MREMAP_ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/syscalls/madvise.c new/trinity-1.8+git.20171103/syscalls/madvise.c --- old/trinity-1.7+git.20171006/syscalls/madvise.c 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/syscalls/madvise.c 2017-11-03 16:14:07.000000000 +0100 @@ -21,6 +21,7 @@ MADV_FREE, MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK, MADV_MERGEABLE, MADV_UNMERGEABLE, MADV_HUGEPAGE, MADV_NOHUGEPAGE, MADV_DONTDUMP, MADV_DODUMP, + MADV_WIPEONFORK, MADV_KEEPONFORK, }; struct syscallentry syscall_madvise = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/syscalls/perf_event_open.c new/trinity-1.8+git.20171103/syscalls/perf_event_open.c --- old/trinity-1.7+git.20171006/syscalls/perf_event_open.c 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/syscalls/perf_event_open.c 2017-11-03 16:14:07.000000000 +0100 @@ -879,6 +879,8 @@ sample_type |= PERF_SAMPLE_TRANSACTION; if (RAND_BOOL()) sample_type |= PERF_SAMPLE_REGS_INTR; + if (RAND_BOOL()) + sample_type |= PERF_SAMPLE_PHYS_ADDR; return sample_type; } @@ -958,6 +960,16 @@ branch_sample |= PERF_SAMPLE_BRANCH_ANY_RETURN; if (RAND_BOOL()) branch_sample |= PERF_SAMPLE_BRANCH_IND_CALL; + + /* Transactional Memory Types */ + if (RAND_BOOL()) + branch_sample |= PERF_SAMPLE_BRANCH_ABORT_TX; + if (RAND_BOOL()) + branch_sample |= PERF_SAMPLE_BRANCH_IN_TX; + if (RAND_BOOL()) + branch_sample |= PERF_SAMPLE_BRANCH_NO_TX; + + if (RAND_BOOL()) branch_sample |= PERF_SAMPLE_BRANCH_COND; if (RAND_BOOL()) @@ -966,14 +978,13 @@ branch_sample |= PERF_SAMPLE_BRANCH_IND_JUMP; if (RAND_BOOL()) branch_sample |= PERF_SAMPLE_BRANCH_CALL; - - /* Transactional Memory Types */ if (RAND_BOOL()) - branch_sample |= PERF_SAMPLE_BRANCH_ABORT_TX; + branch_sample |= PERF_SAMPLE_BRANCH_NO_FLAGS; if (RAND_BOOL()) - branch_sample |= PERF_SAMPLE_BRANCH_IN_TX; + branch_sample |= PERF_SAMPLE_BRANCH_NO_CYCLES; if (RAND_BOOL()) - branch_sample |= PERF_SAMPLE_BRANCH_NO_TX; + branch_sample |= PERF_SAMPLE_BRANCH_TYPE_SAVE; + return branch_sample; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/syscalls/recv.c new/trinity-1.8+git.20171103/syscalls/recv.c --- old/trinity-1.7+git.20171006/syscalls/recv.c 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/syscalls/recv.c 2017-11-03 16:14:07.000000000 +0100 @@ -20,7 +20,7 @@ MSG_WAITALL, MSG_FIN, MSG_SYN, MSG_CONFIRM, MSG_RST, MSG_ERRQUEUE, MSG_NOSIGNAL, MSG_MORE, MSG_WAITFORONE, MSG_FASTOPEN, MSG_CMSG_CLOEXEC, MSG_CMSG_COMPAT, - MSG_BATCH, + MSG_BATCH, MSG_ZEROCOPY, }; struct syscallentry syscall_recv = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/syscalls/send.c new/trinity-1.8+git.20171103/syscalls/send.c --- old/trinity-1.7+git.20171006/syscalls/send.c 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/syscalls/send.c 2017-11-03 16:14:07.000000000 +0100 @@ -68,7 +68,7 @@ MSG_WAITALL, MSG_FIN, MSG_SYN, MSG_CONFIRM, MSG_RST, MSG_ERRQUEUE, MSG_NOSIGNAL, MSG_MORE, MSG_WAITFORONE, MSG_FASTOPEN, MSG_CMSG_CLOEXEC, MSG_CMSG_COMPAT, - MSG_BATCH, + MSG_BATCH, MSG_ZEROCOPY, }; struct syscallentry syscall_send = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20171006/syscalls/setsockopt.c new/trinity-1.8+git.20171103/syscalls/setsockopt.c --- old/trinity-1.7+git.20171006/syscalls/setsockopt.c 2017-10-06 19:58:50.000000000 +0200 +++ new/trinity-1.8+git.20171103/syscalls/setsockopt.c 2017-11-03 16:14:07.000000000 +0100 @@ -25,7 +25,7 @@ SO_BUSY_POLL, SO_MAX_PACING_RATE, SO_BPF_EXTENSIONS, SO_INCOMING_CPU, SO_ATTACH_BPF, SO_ATTACH_REUSEPORT_CBPF, SO_ATTACH_REUSEPORT_EBPF, SO_CNX_ADVICE, SCM_TIMESTAMPING_OPT_STATS, SO_MEMINFO, SO_INCOMING_NAPI_ID, - SO_COOKIE, SCM_TIMESTAMPING_PKTINFO, SO_PEERGROUPS, + SO_COOKIE, SCM_TIMESTAMPING_PKTINFO, SO_PEERGROUPS, SO_ZEROCOPY, }; static void socket_setsockopt(struct sockopt *so, __unused__ struct socket_triplet *triplet)
