Messages in this thread | | | Date | Wed, 4 Nov 2020 18:31:43 -0500 | From | Joel Fernandes <> | Subject | Re: [PATCH 1/1] x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP |
| |
On Tue, Nov 03, 2020 at 11:57:57AM +0100, Borislav Petkov wrote: > On Mon, Nov 02, 2020 at 11:02:10AM +1100, Anand K. Mistry wrote: > > > I like the idea of passing in the mode you want to check, but it appears > > > they are never used independently. The ibpb and stibp modes are always > > > checked together in one of the if statements below, so you could make this > > > a function that checks both modes and just have a single call. I'll leave > > > that up to the maintainers to see what is preferred. > > > > I can see both sides to this. Personally, I think I prefer it as-is > > since I think it improves readability a bit by making the conditions > > less complicated whilst not hiding too many details. I'll wait to see > > what others say before changing this one. > > Yes, but if you make it a single function with a descriptive name, you'd > make the call sites even more readable: > > if (!is_spec_ib_conditional(..)) > bla; > > or > > if (!is_spec_ib_user_controlled(..)) > blu; > > and that function should simply check both spectre_v2_user_ibpb *and* > spectre_v2_user_stibp in one go. > > Why should we do that? > > Exactly because you both got your brains twisted just from looking at > this. Because this mitigation crap is such an ugly and complex maze that > we would take even the smallest simplification any day of the week! > > Welcome to my life since meltdown. Brain twist feels good, doesn't it? > > :-)))
I hate the maze too. In theory we can get rid of STIBP if/when core-scheduling is enabled because the cross-CPU branch predictor poisioning would not be possible. Maybe that will simplify the maze a bit.
thanks,
- Joel
| |