diff --git a/src/syscall/syscall_linux.go b/src/syscall/syscall_linux.go index f9adecdd5e..ab634a2cbe 100644 --- a/src/syscall/syscall_linux.go +++ b/src/syscall/syscall_linux.go @@ -46,11 +46,15 @@ func runtime_exitsyscall() // uintptr arguments are pointers, because some values may look like pointers, // but not really be pointers, and adjusting their value would break the call. // +// //go:norace, on RawSyscall, to avoid race instrumentation if RawSyscall is +// called after fork, or from a signal handler. +// // //go:linkname to ensure ABI wrappers are generated for external callers // (notably x/sys/unix assembly). //go:uintptrkeepalive //go:nosplit +//go:norace //go:linkname RawSyscall func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) { return RawSyscall6(trap, a1, a2, a3, 0, 0, 0)