Hello community,
here is the log from the commit of package trinity for openSUSE:Factory checked in at 2015-11-04 15:33:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 2015-09-19 06:55:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.trinity.new/trinity.changes 2015-11-04 15:33:36.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Nov 2 12:27:25 UTC 2015 - jslaby(a)suse.com
+
+- Update to 20151029
+
+-------------------------------------------------------------------
Old:
----
trinity-20150905.tar.xz
New:
----
trinity-20151029.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trinity.spec ++++++
--- /var/tmp/diff_new_pack.C9mM1s/_old 2015-11-04 15:33:37.000000000 +0100
+++ /var/tmp/diff_new_pack.C9mM1s/_new 2015-11-04 15:33:37.000000000 +0100
@@ -17,7 +17,7 @@
Name: trinity
-Version: 20150905
+Version: 20151029
Release: 0
Summary: A Linux System call fuzz tester
License: GPL-2.0
++++++ trinity-20150905.tar.xz -> trinity-20151029.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/Documentation/TODO new/trinity-20151029/Documentation/TODO
--- old/trinity-20150905/Documentation/TODO 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/Documentation/TODO 2015-11-02 13:25:05.000000000 +0100
@@ -228,7 +228,6 @@
- if we find a blocking fd, check if it's a socket, and shutdown() it.
(tricky: we need to do the shutdown in the main process, and then tell other children)
-* make -p take an arg for seconds
* things to check.
- execve occasionally returns -ESRCH. Why ?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/children/random-syscalls.c new/trinity-20151029/children/random-syscalls.c
--- old/trinity-20150905/children/random-syscalls.c 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/children/random-syscalls.c 2015-11-02 13:25:05.000000000 +0100
@@ -12,7 +12,6 @@
#include "debug.h"
#include "locks.h"
#include "log.h"
-#include "params.h" // dopause
#include "pids.h"
#include "random.h"
#include "shm.h"
@@ -129,10 +128,6 @@
*/
len = strlen(rec->prebuffer);
- /* If we're going to pause, might as well sync pre-syscall */
- if (dopause == TRUE)
- synclogs();
-
old = rec->tv.tv_sec;
do_syscall(rec);
@@ -172,9 +167,6 @@
/* Output the syscall result, and clean up */
output_syscall_postfix(rec);
- if (dopause == TRUE)
- sleep(1);
-
handle_syscall_ret(rec);
return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/include/fd.h new/trinity-20151029/include/fd.h
--- old/trinity-20150905/include/fd.h 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/include/fd.h 2015-11-02 13:25:05.000000000 +0100
@@ -1,6 +1,8 @@
#pragma once
+#include "child.h"
#include "list.h"
+#include "syscall.h"
#include "types.h"
void setup_fd_providers(void);
@@ -16,3 +18,5 @@
int (*get)(void);
bool enabled;
};
+
+unsigned int check_if_fd(struct childdata *child, struct syscallrecord *rec);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/include/params.h new/trinity-20151029/include/params.h
--- old/trinity-20150905/include/params.h 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/include/params.h 2015-11-02 13:25:05.000000000 +0100
@@ -31,7 +31,7 @@
extern bool do_specific_domain;
extern char *specific_domain_optarg;
extern bool no_domains[TRINITY_PF_MAX];
-extern bool dopause;
+extern bool dry_run;
extern bool show_syscall_list;
extern bool show_ioctl_list;
extern unsigned char quiet_level;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/include/trinity.h new/trinity-20151029/include/trinity.h
--- old/trinity-20150905/include/trinity.h 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/include/trinity.h 2015-11-02 13:25:05.000000000 +0100
@@ -1,7 +1,6 @@
#pragma once
-#include "child.h"
-#include "syscall.h"
+#include "types.h"
extern unsigned int num_online_cpus;
extern bool no_bind_to_cpu;
@@ -12,7 +11,6 @@
void exit_main_fail(void);
void init_watchdog(void);
-unsigned int check_if_fd(struct childdata *child, struct syscallrecord *rec);
void panic(int reason);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/params.c new/trinity-20151029/params.c
--- old/trinity-20150905/params.c 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/params.c 2015-11-02 13:25:05.000000000 +0100
@@ -31,7 +31,7 @@
bool do_specific_domain = FALSE;
bool no_domains[TRINITY_PF_MAX];
-bool dopause = FALSE;
+bool dry_run = FALSE;
bool show_syscall_list = FALSE;
bool show_ioctl_list = FALSE;
unsigned char quiet_level = 0;
@@ -92,12 +92,11 @@
outputerr("\n");
outputerr(" -c#,@: target specific syscall (takes syscall name as parameter and optionally 32 or 64 as bit-width. Default:both).\n");
outputerr(" -N#: do # syscalls then exit.\n");
- outputerr(" -p: pause after syscall.\n");
outputerr(" -s#: use # as random seed.\n");
exit(EXIT_SUCCESS);
}
-static const char paramstr[] = "a:b:c:C:dDE:g:hIl:LmN:P:pqr:s:ST:V:vx:X";
+static const char paramstr[] = "a:b:c:C:dDE:g:hIl:LmN:P:qr:s:ST:V:vx:X";
static const struct option longopts[] = {
{ "arch", required_argument, NULL, 'a' },
@@ -107,6 +106,7 @@
{ "dropprivs", no_argument, NULL, 'X'},
{ "debug", no_argument, NULL, 'D' },
{ "disable-fds", required_argument, NULL, 0 },
+ { "dry-run", no_argument, NULL, 0 },
{ "enable-fds", required_argument, NULL, 0 },
{ "exclude", required_argument, NULL, 'x' },
{ "group", required_argument, NULL, 'g' },
@@ -234,11 +234,6 @@
syscalls_todo = strtoll(optarg, NULL, 10);
break;
- /* Pause after each syscall */
- case 'p':
- dopause = TRUE;
- break;
-
case 'P':
do_specific_domain = TRUE;
specific_domain = strtol(optarg, NULL, 10);
@@ -323,6 +318,9 @@
if (strcmp("enable-fds", longopts[opt_index].name) == 0)
process_fds_param(optarg, TRUE);
+ if (strcmp("dry-run", longopts[opt_index].name) == 0)
+ dry_run = TRUE;
+
break;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/syscall.c new/trinity-20151029/syscall.c
--- old/trinity-20150905/syscall.c 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/syscall.c 2015-11-02 13:25:05.000000000 +0100
@@ -12,6 +12,7 @@
#include "arch.h"
#include "child.h"
+#include "params.h"
#include "pids.h"
#include "random.h"
#include "sanitise.h"
@@ -100,12 +101,14 @@
errno = 0;
- shm_ro();
- if (rec->do32bit == FALSE)
- ret = syscall(call, rec->a1, rec->a2, rec->a3, rec->a4, rec->a5, rec->a6);
- else
- ret = syscall32(call, rec->a1, rec->a2, rec->a3, rec->a4, rec->a5, rec->a6);
- shm_rw();
+ if (dry_run == FALSE) {
+ shm_ro();
+ if (rec->do32bit == FALSE)
+ ret = syscall(call, rec->a1, rec->a2, rec->a3, rec->a4, rec->a5, rec->a6);
+ else
+ ret = syscall32(call, rec->a1, rec->a2, rec->a3, rec->a4, rec->a5, rec->a6);
+ shm_rw();
+ }
/* We returned! */
shm->stats.total_syscalls_done++;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trinity-20150905/syscalls/request_key.c new/trinity-20151029/syscalls/request_key.c
--- old/trinity-20150905/syscalls/request_key.c 2015-09-17 16:21:20.000000000 +0200
+++ new/trinity-20151029/syscalls/request_key.c 2015-11-02 13:25:05.000000000 +0100
@@ -4,6 +4,7 @@
const char __user *, _callout_info,
key_serial_t, destringid)
*/
+#include <linux/keyctl.h>
#include "sanitise.h"
struct syscallentry syscall_request_key = {
@@ -16,4 +17,14 @@
.arg3name = "_callout_info",
.arg3type = ARG_ADDRESS,
.arg4name = "destringid",
+ .arg4type = ARG_OP,
+ .arg4list = {
+ .num = 8,
+ .values = {
+ KEY_SPEC_THREAD_KEYRING, KEY_SPEC_PROCESS_KEYRING,
+ KEY_SPEC_SESSION_KEYRING, KEY_SPEC_USER_KEYRING,
+ KEY_SPEC_USER_SESSION_KEYRING, KEY_SPEC_GROUP_KEYRING,
+ KEY_SPEC_REQKEY_AUTH_KEY, KEY_SPEC_REQUESTOR_KEYRING,
+ },
+ },
};