aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-10-20 12:09:56 +0200
committerDmitry Vyukov <dvyukov@google.com>2015-10-20 15:46:04 +0200
commitb0a24e2466eed590ab6c9d9f88bdb9aedbc458fd (patch)
treeef417e6c59a388b8a905c683c65ce3efa6dc91c8
parent9a3bf1a7c7fda81c99ac232e7ff18f60e3ba223a (diff)
don't generate pthread(PTRACE_TRACEME) due to a known issue
-rw-r--r--prog/analysis.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/prog/analysis.go b/prog/analysis.go
index 30c9542da..e1d106d10 100644
--- a/prog/analysis.go
+++ b/prog/analysis.go
@@ -252,6 +252,12 @@ func sanitizeCall(c *Call) {
if uint32(cmd.Val) == uint32(FIFREEZE) {
cmd.Val = FITHAW
}
+ case "ptrace":
+ // PTRACE_TRACEME leads to unkillable processes, see:
+ // https://groups.google.com/forum/#!topic/syzkaller/uGzwvhlCXAw
+ if c.Args[0].Val == PTRACE_TRACEME {
+ c.Args[0].Val = ^uintptr(0)
+ }
case "exit", "exit_group":
code := c.Args[0]
// These codes are reserved by executor.