Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Oct 2015 21:39:07 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r288903 - head/usr.bin/truss
Message-ID:  <201510052139.t95Ld7Ic013372@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Mon Oct  5 21:39:07 2015
New Revision: 288903
URL: https://svnweb.freebsd.org/changeset/base/288903

Log:
  Fix crash if a process sends itself a SIGTRAP.  Just forward it as expected.
  
  MFC after:	2 weeks [needs rewrite]
  Relnotes:	yes

Modified:
  head/usr.bin/truss/setup.c

Modified: head/usr.bin/truss/setup.c
==============================================================================
--- head/usr.bin/truss/setup.c	Mon Oct  5 21:36:53 2015	(r288902)
+++ head/usr.bin/truss/setup.c	Mon Oct  5 21:39:07 2015	(r288903)
@@ -564,15 +564,12 @@ eventloop(struct trussinfo *info)
 			}
 			find_thread(info, si.si_pid, pl.pl_lwpid);
 
-			if (si.si_status == SIGTRAP) {
+			if (si.si_status == SIGTRAP &&
+			    (pl.pl_flags & (PL_FLAG_SCE|PL_FLAG_SCX)) != 0) {
 				if (pl.pl_flags & PL_FLAG_SCE)
 					enter_syscall(info, &pl);
 				else if (pl.pl_flags & PL_FLAG_SCX)
 					exit_syscall(info, &pl);
-				else
-					errx(1,
-		   "pl_flags %x contains neither PL_FLAG_SCE nor PL_FLAG_SCX",
-					    pl.pl_flags);
 				pending_signal = 0;
 			} else if (pl.pl_flags & PL_FLAG_CHILD) {
 				if ((info->flags & COUNTONLY) == 0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201510052139.t95Ld7Ic013372>