Re: [PATCH] mm: Add new vma flag VM_LOCAL_CPU

From: Peter Zijlstra
Date: Tue May 15 2018 - 13:37:49 EST

On Tue, May 15, 2018 at 02:41:41PM +0300, Boaz Harrosh wrote:
> On 15/05/18 14:11, Matthew Wilcox wrote:

> > You're still thinking about this from the wrong perspective. If you
> > were writing a program to attack this facility, how would you do it?
> > It's not exactly hard to leak one pointer's worth of information.
> >
> That would be very hard. Because that program would:
> - need to be root
> - need to start and pretend it is zus Server with the all mount
> thread thing, register new filesystem, grab some pmem devices.
> - Mount the said filesystem on said pmem. Create core-pinned ZT threads
> for all CPUs, start accepting IO.
> - And only then it can start leaking the pointer and do bad things.
> The bad things it can do to the application, not to the Kernel.

No I think you can do bad things to the kernel at that point. Consider
it populating the TLBs on the 'wrong' CPU by 'inadvertenly' touching
'random' memory.

Then cause an invalidation and get the page re-used for kernel bits.

Then access that page through the 'stale' TLB entry we still have on the
'wrong' CPU and corrupt kernel data.