From 91db3ed8ce2dc73444bcd649f8003cbe96fcb227 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 18 Apr 2020 17:09:59 +0200 Subject: prog: add ignore_return and breaks_returns call attribtues We had these hard-coded for fuchsia and linux accordingly. Replace with call attributes. --- prog/analysis.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'prog/analysis.go') diff --git a/prog/analysis.go b/prog/analysis.go index 10d99a787..fe022b670 100644 --- a/prog/analysis.go +++ b/prog/analysis.go @@ -206,12 +206,7 @@ func (p *Prog) FallbackSignal(info []CallInfo) { typ = fallbackSignalErrnoBlocked } inf.Signal = append(inf.Signal, encodeFallbackSignal(typ, id, inf.Errno)) - // seccomp filter can produce arbitrary errno values for subsequent syscalls. - // Don't trust anything afterwards. prctl can setup seccomp too. - // clone+ptrace combo cause fallback coverage explosion under gvisor. - // Mechanics of that are unclear, but effect is very clear. - if c.Meta.CallName == "seccomp" || c.Meta.CallName == "prctl" || - c.Meta.CallName == "clone" || c.Meta.CallName == "ptrace" { + if c.Meta.Attrs.BreaksReturns { break } if inf.Errno != 0 { -- cgit mrf-deployment