Re: [PATCH 3/8] powerpc: Mark functions called inside uaccess blocks w/ 'notrace'
From: Michael Ellerman
Date: Tue Oct 20 2020 - 03:34:13 EST
Peter Zijlstra <peterz@xxxxxxxxxxxxx> writes:
> On Fri, Oct 16, 2020 at 07:56:16AM +0100, Christoph Hellwig wrote:
>> On Thu, Oct 15, 2020 at 10:01:54AM -0500, Christopher M. Riedl wrote:
>> > Functions called between user_*_access_begin() and user_*_access_end()
>> > should be either inlined or marked 'notrace' to prevent leaving
>> > userspace access exposed. Mark any such functions relevant to signal
>> > handling so that subsequent patches can call them inside uaccess blocks.
>>
>> I don't think running this much code with uaccess enabled is a good
>> idea. Please refactor the code to reduce the criticial sections with
>> uaccess enabled.
>>
>> Btw, does powerpc already have the objtool validation that we don't
>> accidentally jump out of unsafe uaccess critical sections?
>
> It does not, there was some effort on that a while ago, but I suspect
> they're waiting for the ARM64 effort to land and build on that.
Right, we don't have objtool support.
We would definitely like objtool support at least for this uaccess
checking, I'm sure we have some escapes.
There was someone working on it in their own-time but last I heard that
was still WIP.
I didn't realise the ARM64 support was still not merged, so yeah having
that land first would probably simplify things, but we still need
someone who has time to work on it.
cheers