The Unfixable ARM Memory Bug
70,842
Published 2024-07-27
Article
• researchers find an unfixable bug in ...
By: Low Level Learning | / @lowlevellearning
My Stream
twitch.tv/ThePrimeagen
Best Way To Support Me
Become a backend engineer. Its my favorite site
boot.dev/?promo=PRIMEYT
This is also the best way to support me is to support yourself becoming a better backend engineer.
MY MAIN YT CHANNEL: Has well edited engineering videos
youtube.com/ThePrimeagen
Discord
discord.gg/ThePrimeagen
Have something for me to read or react to?: www.reddit.com/r/ThePrimeagenReact/
Kinesis Advantage 360: bit.ly/Prime-Kinesis
Get production ready SQLite with Turso: turso.tech/deeznuts
All Comments (21)
-
As the old joke goes: There are two hard things in computing: Naming things, cache invalidation, and off by one errors.
-
As a cpp user, I like putting constexpr everywhere so that 100% of my code execute at compile time and I achieve infinite fps
-
She speculates on my execution 'til I crash.
-
if i had a dollar for every low level bug/cpu security feature discovered this year i'd have like 20
-
Prime just casually insulting top-notch cyber security researchers as basement dwellers. 😂 They won, but at what cost.
-
5:25 "I am not a hacker, I just ship bugs to production" said the hacker's best friend =)))
-
Speculative execution in 1970 on an IBM 360/75. A program I was testing had a S0C4 exception, basically illegal address. When I reviewed the crash dump, I observed that maybe 5-6 of the following register_to_register instructions had been performed. No virtual memory, no page tables, just raw memory. So the machine was running ahead of the slowish instruction that accessed raw memory.
-
Speculative execution is vital for processor performance, but its repercussions seem to be too hard for humans to really fully comprehend. We're truly borked nowadays.
-
Watching Prime spend 5 minutes trying to dig out Memory Management Units (MMUs) and Translation Lookaside Buffers (TLBs) from his school days memory is wild. Props to you man. Streaming live content is tough!
-
It's called "Aleph null" (pointer exception)
-
Speculative execution is there since the 80ties , since RISC enabled pipelining. The reason is that pipeliniing gives a speedup of m, where m is the lenght of the pipeline, as long as the pipeline is full. The cost is that you pay a startup latency in the so called "Windup" phase, the phase were you fill the pipeline. This price you pay every time you gotta branch since you have to refill the pipeline. Without brench prediction and speculative execution you would have to refill the pipeline at the final branch of every for loop , fully defeating the advantages of pipelining, actually making it worst that if you were not pipelining. I have an exam on programming techniques for super computers in some days, life is hard
-
The difference between a programmer and a hacker. One creates exploits and the other exploits them.
-
Me trying to sleep: zzzz That one mosquito: 5:36
-
it's a big sign of respect when Prime highlights your whole sentence
-
“All hackers are cool…ummmmm!!” Had me lol and smashing a like😂👍🏼
-
basedment++
-
actually from 2000 to 2004 the common clock went from 800Mhz to 3.4Ghz. The computing power was doubling every 2 years for decades. Now we're far from that, since the core family were introduced in 2006. The number of cores and transistors still increase a lot but the computing power don't scale that much.
-
Starting with the Penium 4 (!) we had the branch prediction. In that time 50% of the silicon was just to detect if the prediction was wrong 🎉🎉
-
26:42 One way to mitigate "the weather man problem" is to set up your chair and your camera slightly to the left of your monitor, that way when you look at the screen you are always looking to your right.
-
Aleph 1 = Cardinality of the smallest uncountable set