Thread (31 messages) 31 messages, 5 authors, 2020-09-03

Re: [PATCH v11 6/9] x86/cet: Add PTRACE interface for CET

From: Andy Lutomirski <luto@amacapital.net>
Date: 2020-09-03 16:26:13
Also in: linux-arch, linux-doc, linux-mm, lkml

On Thu, Sep 3, 2020 at 9:21 AM Yu, Yu-cheng [off-list ref] wrote:
On 9/3/2020 9:11 AM, Dave Hansen wrote:
quoted
On 9/3/20 9:09 AM, Yu, Yu-cheng wrote:
quoted
If the debugger is going to write an MSR, only in the third case would
this make a slight sense.  For example, if the system has CET enabled,
but the task does not have CET enabled, and GDB is writing to a CET MSR.
  But still, this is strange to me.
If this is strange, then why do we even _implement_ writes?
For example, if the task has CET enabled, and it is in a control
protection fault, the debugger can clear the task's IBT state, or unwind
the shadow stack, etc.  But if the task does not have CET enabled (its
CET MSRs are in INIT state), it would make sense for the PTRACE call to
return failure than doing something else, right?
What do you mean "something else"?  I assume that, if GDB tells
ptrace() to write some value to the CET MSR, then it should get that
value.  If GDB writes to it on a task that is not currently using CET,
I don't see why it should fail.

--Andy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help