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

From: Dave Hansen
Date: Thu Sep 03 2020 - 12:26:04 EST


On 9/3/20 9:15 AM, Andy Lutomirski wrote:
> On Thu, Sep 3, 2020 at 9:12 AM Dave Hansen <dave.hansen@xxxxxxxxx> wrote:
>>
>> On 9/3/20 9:09 AM, Yu, Yu-cheng wrote:
>>> 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?
>
> Well, if gdb wants to force a tracee to return early from a function,
> wouldn't it want the ability to modify SSP?

That's true.

Yu-cheng, can you take a look through and see for the other setregs
users what they do for logically crazy, strange things? Is there
precedent for refusing a write which is possible but illogical or
strange? If so, which error code do they use?

Taking the config register out of the init state is illogical, as is
writing to SSP while the config register is in its init state.