News for hackers. Stuff that matters.
Re:Go Creeping In by sagichmal on Tuesday June 18, 2019 @06:51AM (#20211557)
“Memory safe” has a specific technical definition, and “atomic assignment” isn’t it.
Re:Go Creeping In by burntsushi on Tuesday June 18, 2019 @07:09AM (#20211678)
No, the GP is correct. Data races are undefined behavior, and break memory safety: https://research.swtch.com/gorace
Re:Go Creeping In by pwodhouse on Tuesday June 18, 2019 @09:37AM (#20212800)
Is there a sense in which Russ's claim that "data races are not security problems" is true? It seems to be assuming that data races are impossible to exploit by users (data input), only by programmers.
Re:Go Creeping In by kibwen on Tuesday June 18, 2019 @02:11PM (#20216400)
Presumably because data races are so inconsistently triggered that creating a reliable exploit would be generally infeasible, even with control over user input. However, this unpredictability is also why data races (among other concurrency issues) are some of the most maddening types of bugs to observe, hunt down, and diagnose, which is why eliminating data races is actually a big deal for anyone who's ever wrestled with threads before.
Re:Go Creeping In by 0815test on Tuesday June 18, 2019 @07:13AM (#20211702)
Go is indeed memory-safe for sequential code, but non-atomic assignment can definitely break memory safety in multi-threaded settings - it's effectively a data race.