On Fri, Jan 12, 2018 at 06:26:06PM +0100, Laurent Dufour wrote: > @@ -1354,7 +1354,10 @@ extern int handle_mm_fault(struct vm_area_struct *vma, > unsigned long address, > unsigned int flags); > #ifdef CONFIG_SPF > extern int handle_speculative_fault(struct mm_struct *mm, > + unsigned long address, unsigned int flags, > + struct vm_area_struct **vma);
I think this shows that we need to create 'struct vm_fault' on the stack in the arch code and then pass it to handle_speculative_fault(), followed by handle_mm_fault(). That should be quite a nice cleanup actually. I know that's only 30+ architectures to change ;-)