Re: [RFC PATCH] x86/cpufeature: Add feature dependency checks
From: Sean Christopherson
Date: Mon Aug 26 2024 - 16:05:57 EST
On Fri, Aug 23, 2024, Sohil Mehta wrote:
> On 8/22/2024 4:27 PM, Sean Christopherson wrote:
> > On Thu, Aug 22, 2024, Sohil Mehta wrote:
> >> Arguably, this situation should only happen on broken hardware and it may not
> >> make sense to add such a check to the kernel. OTOH, this can be viewed as a
> >> safety mechanism to make failures more graceful on such configurations in real
> >> or virtual environments.
> >
> > And goofy Kconfigs. But yeah, lack of any meaningful fallout is why my version
> > didn't go anywhere.
> >
>
> By fallout do you mean that the observed behavior when the kernel runs
> into such a misconfiguration
This.
> or just the general lack of such
> misconfigured hardware/guest?
>
> I tried experimenting with the behavior for the last entry on the
> cpuid_deps[] table:
> { X86_FEATURE_FRED, X86_FEATURE_WRMSRNS },
>
> In this case, even if WRMSRNS is not present, the kernel would go ahead
> and enable FRED, which would cause a panic when wrmsrns() is exercised
> in update_task_stack().
>
> I agree to the second part that such conditions are more likely to
> happen in pre-production environments.
And in VMs, e.g. unless the SDM explicitly says FRED implies WRMSRNS, it will be
architecturally legal, if unusual, to advertise FRED with WRMSRNS to a guest.
> But I still feel that for the rare case when something like this seeps
> through it would be better to disable the feature upfront than run in a
> kernel panic or some other unexpected behavior.
Agreed.
> > https://lore.kernel.org/all/20221203003745.1475584-2-seanjc@xxxxxxxxxx
> >
>
> The code is very similar to the one I proposed. If we do take this
> forward, would it be fine if I add a Originally-by tag from you?
No need, you came up with the code independently.