SLIDE 12 2/21/2018 12
Software counter measures?
Software workarounds for a hardware problem?
- 1. Preventive repairs in OS and library code:
- Scan code for occurences of ‘if (…) array[ array[ ] ]’
- Modify such code that even predication cannot do out-of-bounds access
(by inserting ‘memory barrier’ operations between the array accesses. Such operations prevent speculation beyond non-completed memory accesses.)
- Clear the ‘Branch Target Buffer’ at context switches
- 2. Apply the known OS ‘Kernel Page Table Isolation’ (Kaiser) update
- This removes the mapping of kernel memory space from the user process
- Unfortunately, this requires that the CPU clears and reloads its TLB on each
system call entry and exit. This costs many hundreds of cycles penalty on each system call.
15 Feb 2018 23
Nervously apply kernel code updates in a hurry?
From Linus Torvalds <> Date Sun, 21 Jan 2018 13:35:59 -0800 … BULLSHIT. Have you _looked_ at the patches you are talking about? You should have - several of them bear your name. … So somebody isn't telling the truth here. Somebody is pushing complete garbage for unclear reasons. Sorry for having to point that out. If this was about flushing the BTB at actual context switches between different users, I'd believe you. But that's not at all what the patches do. As it is, the patches are COMPLETE AND UTTER GARBAGE. They do literally insane things. They do things that do not make
- sense. That makes all your arguments questionable and suspicious. The
patches do things that are not sane. WHAT THE F*CK IS GOING ON? I think we need something better than this garbage.
15 Feb 2018 24