> For kernel, we may be able to annonate "tainted" pointers. But then > there's quite a lot of code in userspace... What will need to be > modified? Just JITs? Setuid programs? You never go from one user process to another except via the kernel. We have no hardware scheduling going on. That means that if the kernel and/or CPU imposes the correct speculation barriers you can't attack anyone but yourself. Sandboxes and JITs are the critical components where the issue matters. That IMHO is also an argument for why once the basics are in place there is a good argument for a prctl and maybe cgroup support to run some groups of processes with different trust levels. For example there's not much point protecting a user process from root, or a process from another process that could use ptrace on it instead. > And we can get part of the performance back by adding more of > SMT... AFAICT. The current evidence is not because most workloads are not sufficiently parallelisable. Likewise doing the speculation in the compiler doesn't appear to have been the success people hoped for (IA64). Alan