Re: [PATCH v5 04/27] x86/fpu/xstate: Add XSAVES system states for shadow stack

From: Andy Lutomirski
Date: Sun Nov 11 2018 - 09:59:38 EST




> On Nov 11, 2018, at 3:31 AM, Pavel Machek <pavel@xxxxxx> wrote:
>
> Hi!
>
>>> +/*
>>> + * State component 12 is Control flow Enforcement kernel states
>>> + */
>>> +struct cet_kernel_state {
>>> + u64 kernel_ssp; /* kernel shadow stack */
>>> + u64 pl1_ssp; /* ring-1 shadow stack */
>>> + u64 pl2_ssp; /* ring-2 shadow stack */
>>
>> Just write "privilege level" everywhere - not "ring".
>
> Please just use word "ring". It is well estabilished terminology.
>
> Which ring is priviledge level 1, given that we have SMM and
> virtualization support?

To the contrary: CPL, DPL, and RPL are very well defined terms in the architecture manuals. âPLâ is privilege level. PL 1 is very well defined.

SMM is SMM, full stop (unless dual mode or whatever itâs called is on, but AFAIK no one uses it). VMX non-root CPL 1 is *still* privilege level 1.

In contrast, the security community likes to call SMM âring -1â, which is cute, but wrong from a systems programmer view. For example, SMMâs CPL can still range from 0-3.

>
> Pavel
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html