From: Oleg Nesterov oleg@redhat.com Date: Tue, 15 Apr 2014 20:03:11 +0200
On 04/15, David Miller wrote:
From: Oleg Nesterov oleg@redhat.com Date: Tue, 15 Apr 2014 19:43:30 +0200
Finally, let me repeat, you should verify that this __copy_to_user_page(page, uaddr, kaddr) will not something bad if uaddr is not mmapped, or its mapping do not match area->page.
Just directly access userspace with the usual exception mechanism we use for copy_to_user(), put_user(), et al. and if it faults you'll get -EFAULT and handle it.
This also avoids the D-cache aliasing issues entirely as I explained in my other reply.
Yes, yes, this is obvious.
But I have no idea what else we should do to take care of icache.
Russell, if for example userland stores into the instruction stream to patch an instruction, what needs to be done on ARM?