From owner-svn-src-user@FreeBSD.ORG Thu Sep 19 12:10:48 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 5B067D1; Thu, 19 Sep 2013 12:10:48 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4963B2965; Thu, 19 Sep 2013 12:10:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8JCAmVh039541; Thu, 19 Sep 2013 12:10:48 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8JCAmBu039540; Thu, 19 Sep 2013 12:10:48 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201309191210.r8JCAmBu039540@svn.freebsd.org> From: Peter Holm Date: Thu, 19 Sep 2013 12:10:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r255701 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Sep 2013 12:10:48 -0000 Author: pho Date: Thu Sep 19 12:10:47 2013 New Revision: 255701 URL: http://svnweb.freebsd.org/changeset/base/255701 Log: Check syscall argument against ignore list. Added support for LP64. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/syscall4.sh Modified: user/pho/stress2/misc/syscall4.sh ============================================================================== --- user/pho/stress2/misc/syscall4.sh Thu Sep 19 11:06:58 2013 (r255700) +++ user/pho/stress2/misc/syscall4.sh Thu Sep 19 12:10:47 2013 (r255701) @@ -108,6 +108,7 @@ static int ignore[] = { SYS_mac_syscall, SYS_sigtimedwait, SYS_sigwaitinfo, + SYS_pdfork, }; int fd[900], fds[2], socketpr[2]; @@ -129,7 +130,8 @@ hand(int i __unused) { /* handler */ unsigned long makearg(void) { - unsigned int i, val; + unsigned int i; + unsigned long val; val = arc4random(); i = arc4random() % 100; @@ -138,7 +140,14 @@ makearg(void) if (i >= 20 && i < 40) val = val & 0xffff; if (i >= 40 && i < 60) - val = (unsigned long)(r) + (val & 0xffff); + val = (unsigned long)(r) | (val & 0xffff); +#if defined(__LP64__) + if (i >= 60) { + val = (val << 32) | arc4random(); + if (i > 80) + val = val & 0x00007fffffffffffUL; + } +#endif return(val); } @@ -208,7 +217,7 @@ calls(void *arg __unused) num = syscallno; while (num == 0) { num = random_int(0, SYS_MAXSYSCALL); - for (j = 0; j < (int)sizeof(ignore) / (int)sizeof(ignore[0]); j++) + for (j = 0; j < (int)nitems(ignore); j++) if (num == ignore[j]) { num = 0; break; @@ -260,8 +269,12 @@ main(int argc, char **argv) signal(SIGSYS, hand); signal(SIGTRAP, hand); - if (argc == 2) + if (argc == 2) { syscallno = atoi(argv[1]); + for (j = 0; j < (int)nitems(ignore); j++) + if (syscallno == ignore[j]) + errx(0, "syscall #%d is on the ignore list.", syscallno); + } for (i = 0; i < 100000; i++) { if (fork() == 0) {