Hello community,
here is the log from the commit of package trinity for openSUSE:Factory checked in at 2017-06-23 09:17:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trinity (Old)
and /work/SRC/openSUSE:Factory/.trinity.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trinity"
Fri Jun 23 09:17:45 2017 rev:40 rq:504038 version:1.7+git.20170612
Changes:
--------
--- /work/SRC/openSUSE:Factory/trinity/trinity.changes 2017-05-20 10:13:42.715470746 +0200
+++ /work/SRC/openSUSE:Factory/.trinity.new/trinity.changes 2017-06-23 09:17:47.459300048 +0200
@@ -1,0 +2,23 @@
+Fri Jun 16 09:17:12 UTC 2017 - mpluskal@suse.com
+
+- Update to version 1.7+git.20170612:
+ * mark the sync syscalls as expensive
+ * reduce the likelyhood that we call expensive syscalls.
+
+-------------------------------------------------------------------
+Sun May 28 11:43:25 UTC 2017 - opensuse-packaging@opensuse.org
+
+- Update to version 1.7+git.20170525:
+ * add incoming packets to the correct place in the list.
+ * add the last op_nr to the childexited message
+ * add a flag to mark when we're expecting a spawn message.
+ * only process CHILD_EXITED messages if the opnr is current
+ * maintain a count of packets processed each scan of the child list.
+ * childhdr is already set at this point.
+ * use a single thread to process all child packets
+ * optimize packet rx list walk
+ * drop duplicate packets instead of adding them to the list.
+ * fix up cppcheck signedness warnings
+ * replace state machine with simpler drain logic
+
+-------------------------------------------------------------------
Old:
----
trinity-1.7+git.20170512.tar.xz
New:
----
trinity-1.7+git.20170612.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trinity.spec ++++++
--- /var/tmp/diff_new_pack.dgfJiU/_old 2017-06-23 09:17:48.751117514 +0200
+++ /var/tmp/diff_new_pack.dgfJiU/_new 2017-06-23 09:17:48.755116949 +0200
@@ -16,9 +16,9 @@
#
-%define version_unconverted 1.7+git.20170512
+%define version_unconverted 1.7+git.20170612
Name: trinity
-Version: 1.7+git.20170512
+Version: 1.7+git.20170612
Release: 0
Summary: A Linux System call fuzz tester
License: GPL-2.0
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.dgfJiU/_old 2017-06-23 09:17:48.807109602 +0200
+++ /var/tmp/diff_new_pack.dgfJiU/_new 2017-06-23 09:17:48.807109602 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/kernelslacker/trinity</param>
- <param name="changesrevision">a81fba1701ad9250f91f87c7748940525eaaffa4</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">f21c0a62f708688f3df574911525e2b14be01d5e</param></service></servicedata>
\ No newline at end of file
++++++ trinity-1.7+git.20170512.tar.xz -> trinity-1.7+git.20170612.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/childops/random-syscall.c new/trinity-1.7+git.20170612/childops/random-syscall.c
--- old/trinity-1.7+git.20170512/childops/random-syscall.c 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/childops/random-syscall.c 2017-06-12 21:21:10.000000000 +0200
@@ -71,6 +71,7 @@
static bool set_syscall_nr(struct syscallrecord *rec)
{
+ struct syscallentry *entry;
unsigned int syscallnr;
bool do32;
@@ -97,6 +98,12 @@
goto retry;
}
+ entry = get_syscall_entry(syscallnr, do32);
+ if (entry->flags & EXPENSIVE) {
+ if (!ONE_IN(1000))
+ goto retry;
+ }
+
/* critical section for shm updates. */
lock(&rec->lock);
rec->do32bit = do32;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/include/syscall.h new/trinity-1.7+git.20170612/include/syscall.h
--- old/trinity-1.7+git.20170512/include/syscall.h 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/include/syscall.h 2017-06-12 21:21:10.000000000 +0200
@@ -171,6 +171,7 @@
#define NEED_ALARM (1<<5)
#define EXTRA_FORK (1<<6)
#define IGNORE_ENOSYS (1<<7)
+#define EXPENSIVE (1<<8)
void do_syscall(struct syscallrecord *rec);
void handle_syscall_ret(struct syscallrecord *rec);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/include/udp.h new/trinity-1.7+git.20170612/include/udp.h
--- old/trinity-1.7+git.20170512/include/udp.h 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/include/udp.h 2017-06-12 21:21:10.000000000 +0200
@@ -96,6 +96,7 @@
struct msg_childexited {
struct trinity_msgchildhdr hdr;
+ unsigned long op_nr;
};
struct msg_childsignalled {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/main.c new/trinity-1.7+git.20170612/main.c
--- old/trinity-1.7+git.20170512/main.c 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/main.c 2017-06-12 21:21:10.000000000 +0200
@@ -577,11 +577,13 @@
}
}
-static void log_child_exited(pid_t pid, int childno)
+static void log_child_exited(struct childdata *child)
{
struct msg_childexited childmsg;
- init_msgchildhdr(&childmsg.hdr, CHILD_EXITED, pid, childno);
+ init_msgchildhdr(&childmsg.hdr, CHILD_EXITED,
+ pids[child->num], child->num);
+ childmsg.op_nr = child->op_nr;
sendudp((char *) &childmsg, sizeof(childmsg));
}
@@ -599,7 +601,7 @@
if (WIFEXITED(childstatus)) {
struct childdata *child = shm->children[childno];
- log_child_exited(childpid, childno);
+ log_child_exited(child);
debugf("Child %d (pid:%u type:%u) exited after %ld operations.\n",
childno, childpid, child->type, child->op_nr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/server/child.c new/trinity-1.7+git.20170612/server/child.c
--- old/trinity-1.7+git.20170512/server/child.c 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/server/child.c 2017-06-12 21:21:10.000000000 +0200
@@ -30,8 +30,6 @@
child = &session.children[childmsg->hdr.childno];
child->childpid = childmsg->hdr.pid;
- child->expected_seq = 0;
- child->expecting_result = FALSE;
return p;
}
@@ -43,9 +41,9 @@
childmsg = (struct msg_childexited *) buf;
ts = &childmsg->hdr.tp;
- sprintf(p, "%d.%d Child exited. id:%d pid:%d\n",
+ sprintf(p, "%d.%d Child exited. id:%d pid:%d lastop:%lu\n",
(int) ts->tv_sec, (int) ts->tv_nsec,
- childmsg->hdr.childno, childmsg->hdr.pid);
+ childmsg->hdr.childno, childmsg->hdr.pid, childmsg->op_nr);
return p;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/server/child.h new/trinity-1.7+git.20170612/server/child.h
--- old/trinity-1.7+git.20170512/server/child.h 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/server/child.h 2017-06-12 21:21:10.000000000 +0200
@@ -6,8 +6,7 @@
pid_t childpid;
struct packet packets;
unsigned int packetcount;
+ pthread_mutex_t drainmutex;
pthread_mutex_t packetmutex;
int logfile;
- unsigned long expected_seq;
- bool expecting_result;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/server/session.h new/trinity-1.7+git.20170612/server/session.h
--- old/trinity-1.7+git.20170512/server/session.h 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/server/session.h 2017-06-12 21:21:10.000000000 +0200
@@ -7,9 +7,9 @@
struct fuzzsession {
pid_t mainpid;
- int num_children;
+ unsigned int num_children;
struct childdata children[MAX_CHILDREN];
- pthread_t childthreads[MAX_CHILDREN];
+ pthread_t decodethread;
pthread_mutex_t packetmutex;
struct packet mainpackets;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-1.7+git.20170512/server/trinityserver.c new/trinity-1.7+git.20170612/server/trinityserver.c
--- old/trinity-1.7+git.20170512/server/trinityserver.c 2017-05-12 20:11:06.000000000 +0200
+++ new/trinity-1.7+git.20170612/server/trinityserver.c 2017-06-12 21:21:10.000000000 +0200
@@ -4,6 +4,7 @@
#include