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
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