Re: [PATCH 2/5] powerpc/mm: split store_updates_sp() in two parts in do_page_fault()

From: Michael Ellerman
Date: Mon Jun 05 2017 - 06:49:36 EST


Christophe LEROY <christophe.leroy@xxxxxx> writes:

> Le 02/06/2017 Ã 14:11, Benjamin Herrenschmidt a Ãcrit :
>> On Fri, 2017-06-02 at 11:39 +0200, Christophe LEROY wrote:
>>> The difference between get_user() and __get_user() is that get_user()
>>> performs an access_ok() in addition.
>>>
>>> Doesn't access_ok() only checks whether addr is below TASK_SIZE to
>>> ensure it is a valid user address ?
>>
>> Do you have a measurable improvement by skipping that check ? I agree
>> with your reasoning but I'm also paranoid and so I wouldn't change it
>> unless it's really worth it.
>>
>
> No I don't have. Taking into account the patch following this serie
> which limits even more the calls to get_user(), it is probably not worth
> it anymore (see https://patchwork.ozlabs.org/patch/757564/)
>
> I will then have to resubmit the entire serie (including that additional
> one), but there is no get_user_inatomic() so will have to either:
> - do the access_ok() verification inside the function

I think open coding the access_ok() check is probably the best option.

cheers