runtime: add msan calls before calling traceback functions
Tell msan that the arguments to the traceback functions are initialized,
in case the traceback functions are compiled with -fsanitize=memory.
Change-Id: I3ab0816604906c6cd7086245e6ae2e7fa62fe354
Reviewed-on: https://go-review.googlesource.com/24856
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/src/runtime/traceback.go b/src/runtime/traceback.go
index 80a5440..884c947 100644
--- a/src/runtime/traceback.go
+++ b/src/runtime/traceback.go
@@ -1077,6 +1077,9 @@
// or when on the system stack.
call = asmcgocall
}
+ if msanenabled {
+ msanwrite(unsafe.Pointer(arg), unsafe.Sizeof(cgoSymbolizerArg{}))
+ }
call(cgoSymbolizer, noescape(unsafe.Pointer(arg)))
}
@@ -1096,5 +1099,8 @@
buf: (*uintptr)(noescape(unsafe.Pointer(&buf[0]))),
max: uintptr(len(buf)),
}
+ if msanenabled {
+ msanwrite(unsafe.Pointer(&arg), unsafe.Sizeof(arg))
+ }
call(cgoTraceback, noescape(unsafe.Pointer(&arg)))
}