lkml.org 
[lkml]   [2021]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v21 06/26] x86/cet: Add control-protection fault handler
From
Date
On 2/24/2021 11:42 AM, Borislav Petkov wrote:
> On Wed, Feb 24, 2021 at 11:30:34AM -0800, Andy Lutomirski wrote:
>> On Wed, Feb 24, 2021 at 11:20 AM Borislav Petkov <bp@alien8.de> wrote:
>>>
>>> On Wed, Feb 24, 2021 at 09:56:13AM -0800, Yu, Yu-cheng wrote:
>>>> No. Maybe I am doing too much. The GP fault sets si_addr to zero, for
>>>> example. So maybe do the same here?
>>>
>>> No, you're looking at this from the wrong angle. This is going to be
>>> user-visible and the moment it gets upstream, it is cast in stone.
>>>
>>> So the whole use case of what luserspace needs to do or is going to do
>>> or wants to do on a SEGV_CPERR, needs to be described, agreed upon by
>>> people etc before it goes out. And thus clarified whether the address
>>> gets copied out or not.
>>
>> I vote 0. The address is in ucontext->gregs[REG_RIP] [0] regardless.
>> Why do we need to stick a copy somewhere else?
>>
>> [0] or however it's spelled. i can never remember.
>
> Fine with me. Let's have this documented in the manpage and then we can
> move forward with this.
>
> Thx.
>

The man page at https://man7.org/linux/man-pages/man2/sigaction.2.html says,

SIGILL, SIGFPE, SIGSEGV, SIGBUS, and SIGTRAP fill in si_addr with the
address of the fault.

But it is not entirely true.

I will send a patch to update it, and another patch for the si_code.

--
Yu-cheng

\
 
 \ /
  Last update: 2021-02-24 20:54    [W:0.132 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site