These are there to mitigate against speculative execution attacks, such as spectre (v1 and v2), and retbleed. Speculative execution is an optimization in modern processors where they predict the outcome of branches in the code and speculatively execute instructions at the predicted path. When done accurately, this significantly improves the performance of the code.
It’s like one time someone came through your house and stole all the valuables from every room. Now you have to lock/unlock every single interior door as you walk from room to room.
It’s like one time someone came through your house and stole all the valuables from every room. Now you have to lock/unlock every single interior door as you walk from room to room.
This is why we can’t have nice things.