Hello community,

here is the log from the commit of package trinity for openSUSE:Factory checked 
in at 2017-01-23 11:35:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trinity (Old)
 and      /work/SRC/openSUSE:Factory/.trinity.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "trinity"

Changes:
--------
--- /work/SRC/openSUSE:Factory/trinity/trinity.changes  2016-12-29 
22:51:07.438923953 +0100
+++ /work/SRC/openSUSE:Factory/.trinity.new/trinity.changes     2017-01-23 
11:35:49.323218478 +0100
@@ -1,0 +2,9 @@
+Sun Jan 08 09:51:43 UTC 2017 - [email protected]
+
+- Update to version 1.7+git.20170107:
+  * check that the mprotect succeeded before writing to page.
+  * optimize the case where we're dirtying a whole mapping.
+  * protocol is always unsigned.
+  * clear out any old state left in the postbuffer before we do a syscall.
+
+-------------------------------------------------------------------

Old:
----
  trinity-1.7+git.20161222.tar.xz

New:
----
  trinity-1.7+git.20170107.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ trinity.spec ++++++
--- /var/tmp/diff_new_pack.fiGTfg/_old  2017-01-23 11:35:49.891137940 +0100
+++ /var/tmp/diff_new_pack.fiGTfg/_new  2017-01-23 11:35:49.895137373 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package trinity
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,9 +16,9 @@
 #
 
 
-%define version_unconverted 1.7+git.20161222
+%define version_unconverted 1.7+git.20170107
 Name:           trinity
-Version:        1.7+git.20161222
+Version:        1.7+git.20170107
 Release:        0
 Summary:        A Linux System call fuzz tester
 License:        GPL-2.0

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.fiGTfg/_old  2017-01-23 11:35:49.935131701 +0100
+++ /var/tmp/diff_new_pack.fiGTfg/_new  2017-01-23 11:35:49.939131134 +0100
@@ -1,4 +1,4 @@
 <servicedata>
 <service name="tar_scm">
             <param name="url">git://github.com/kernelslacker/trinity</param>
-          <param 
name="changesrevision">7b0c4fea9d676996d942cfe4fd12bd2dd9d217c2</param></service></servicedata>
\ No newline at end of file
+          <param 
name="changesrevision">14f78c74d14ce5a675d4598d7e25f6790dbfd3ee</param></service></servicedata>
\ No newline at end of file

++++++ trinity-1.7+git.20161222.tar.xz -> trinity-1.7+git.20170107.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20161222/childops/random-syscall.c 
new/trinity-1.7+git.20170107/childops/random-syscall.c
--- old/trinity-1.7+git.20161222/childops/random-syscall.c      2016-12-22 
22:38:48.000000000 +0100
+++ new/trinity-1.7+git.20170107/childops/random-syscall.c      2017-01-08 
04:45:22.000000000 +0100
@@ -183,8 +183,9 @@
        if (set_syscall_nr(rec) == FAIL)
                return FAIL;
 
-       /* Generate arguments, print them out */
+       memset(rec->postbuffer, 0, POSTBUFFER_LEN);
 
+       /* Generate arguments, print them out */
        generate_syscall_args(rec);
 
        output_syscall_prefix(rec);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20161222/mm/fault-write.c 
new/trinity-1.7+git.20170107/mm/fault-write.c
--- old/trinity-1.7+git.20161222/mm/fault-write.c       2016-12-22 
22:38:48.000000000 +0100
+++ new/trinity-1.7+git.20170107/mm/fault-write.c       2017-01-08 
04:45:22.000000000 +0100
@@ -9,10 +9,26 @@
 #include "sanitise.h"  // get_address
 #include "utils.h"
 
-static void mark_page_rw(struct map *map, void *page)
+static bool mark_map_rw(struct map *map)
 {
-       mprotect(page, page_size, PROT_READ|PROT_WRITE);
+       int ret;
+       ret = mprotect(map->ptr, map->size, PROT_READ|PROT_WRITE);
+       if (ret < 0)
+               return FALSE;
+
+       map->prot = PROT_READ|PROT_WRITE;
+       return TRUE;
+}
+
+static bool mark_page_rw(struct map *map, void *page)
+{
+       int ret;
+       ret = mprotect(page, page_size, PROT_READ|PROT_WRITE);
+       if (ret < 0)
+               return FALSE;
+
        map->prot = PROT_READ|PROT_WRITE;
+       return TRUE;
 }
 
 static unsigned int nr_pages(struct map *map)
@@ -25,19 +41,21 @@
        char *p = map->ptr;
        unsigned long offset = (rnd() % map->size) & PAGE_MASK;
 
-       mark_page_rw(map, p + offset);
-       p[offset] = rnd();
+       if (mark_page_rw(map, p + offset) == TRUE)
+               p[offset] = rnd();
 }
 
 static void dirty_whole_mapping(struct map *map)
 {
        unsigned int i, nr;
 
+       if (mark_map_rw(map) == FALSE)
+               return;
+
        nr = nr_pages(map);
 
        for (i = 0; i < nr; i++) {
                char *p = map->ptr + (i * page_size);
-               mark_page_rw(map, p);
                *p = rnd();
        }
 }
@@ -52,8 +70,8 @@
 
        for (i = first; i < nr; i+=2) {
                char *p = map->ptr + (i * page_size);
-               mark_page_rw(map, p);
-               *p = rnd();
+               if (mark_page_rw(map, p) == TRUE)
+                       *p = rnd();
        }
 }
 
@@ -65,8 +83,8 @@
 
        for (i = nr; i > 0; i--) {
                char *p = map->ptr + (i * page_size);
-               mark_page_rw(map, p);
-               *p = rnd();
+               if (mark_page_rw(map, p) == TRUE)
+                       *p = rnd();
        }
 }
 
@@ -80,8 +98,8 @@
        for (i = 0; i < nr; i++) {
                off_t offset = (rnd() % nr) * page_size;
                char *p = map->ptr + offset;
-               mark_page_rw(map, p);
-               *p = rnd();
+               if (mark_page_rw(map, p) == TRUE)
+                       *p = rnd();
        }
 }
 
@@ -91,8 +109,8 @@
 {
        char *p = map->ptr;
 
-       mark_page_rw(map, map->ptr);
-       generate_random_page(p);
+       if (mark_page_rw(map, map->ptr) == TRUE)
+               generate_random_page(p);
 }
 
 /* Dirty the last page in a mapping
@@ -102,8 +120,8 @@
 {
        char *p = map->ptr + map->size - page_size;
 
-       mark_page_rw(map, p);
-       memset((void *) p, 'A', page_size);
+       if (mark_page_rw(map, p) == TRUE)
+               memset((void *) p, 'A', page_size);
 }
 
 static const struct faultfn write_faultfns_single[] = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trinity-1.7+git.20161222/net/proto-ipv4.c 
new/trinity-1.7+git.20170107/net/proto-ipv4.c
--- old/trinity-1.7+git.20161222/net/proto-ipv4.c       2016-12-22 
22:38:48.000000000 +0100
+++ new/trinity-1.7+git.20170107/net/proto-ipv4.c       2017-01-08 
04:45:22.000000000 +0100
@@ -299,7 +299,7 @@
 
 static void call_inet_sso_ptr(struct sockopt *so, struct socket_triplet 
*triplet)
 {
-       int proto = triplet->protocol;
+       unsigned int proto = triplet->protocol;
 
        /* we might have gotten here from a non-IP socket, (see setsockopt.c
         * Make sure we don't run past the end of the array above


Reply via email to