On 15/05/18 15:09, Peter Zijlstra wrote: > 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. > Yes a BAD filesystem Server can do bad things I agree. But a filesystem can do very bad things in any case. through the front door, No? and we trust it with our data. So there is some trust we already put in a filesystem i think. I will try to look at this deeper, see if I can actually enforce this policy. Do you have any ideas? can I force page_faults on the other cores? Thank you for looking Boaz