Re: [PATCH] x86/sev: Don't use cc_platform_has() for early SEV-SNP calls

From: Dave Hansen
Date: Wed Aug 24 2022 - 14:53:58 EST


On 8/24/22 11:48, Borislav Petkov wrote:
> On Wed, Aug 24, 2022 at 11:43:10AM -0700, Dave Hansen wrote:
>> So, we don't have *ANY* control over where the compiler uses jump
>> tables. The kernel just happened to add some code that uses them, fell
>> over, and this adds a hack to get booting again.
>>
>> Isn't this a bigger problem?
> I had the same question already. Was thinking of maybe disabling
> the compiler from producing jump tables in the ident-mapped code.
> Tom's argument is that that might prevent the compiler from doing
> optimizations but I haven't talked to compiler folks whether those
> optimizations are even worth the effort.
>
> Regardless, the potential problem is limited:
>
> "# (jump-tables are implicitly disabled by RETPOLINE)"

Ahh, I missed the connection with retpoline. The ubiquity of
RETPOLINE=y probably means we'll see more of these issues because people
won't find them unless they're building and running weirdo configurations.

> i.e., only RETPOLINE=n builds for now which should be a minority?
>
> I guess when this explodes somewhere else again, we will have to
> generalize a fix.

Yep. It also reminds me to add RETPOLINE=n build to my tests.