Re: [PATCH v10 01/26] Documentation/x86: Add CET description

From: Yu-cheng Yu
Date: Mon May 18 2020 - 19:47:40 EST


On Fri, 2020-05-15 at 19:53 -0700, Yu-cheng Yu wrote:
> On Fri, 2020-05-15 at 16:56 -0700, Dave Hansen wrote:
> > On 5/15/20 4:29 PM, Yu-cheng Yu wrote:
> > > [...]
> > > I have run them with CET enabled. All of them pass, except for the following:
> > > Sigreturn from 64-bit to 32-bit fails, because shadow stack is at a 64-bit
> > > address. This is understandable.
> > [...]
> > One a separate topic: You ran the selftests and one failed. This is a
> > *MASSIVE* warning sign. It should minimally be described in your cover
> > letter, and accompanied by a fix to the test case. It is absolutely
> > unacceptable to introduce a kernel feature that causes a test to fail.
> > You must either fix your kernel feature or you fix the test.
> >
> > This code can not be accepted until this selftests issue is rectified.

The x86/sigreturn test constructs 32-bit ldt entries, and does sigreturn from
64-bit to 32-bit context. We do not have a way to construct a static 32-bit
shadow stack. Why do we want that? I think we can simply run the test with CET
disabled.

Yu-cheng