[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 2/3] x86/spec: fix BRANCH_HARDEN option to only be set when build-enabled
On 23.02.2024 13:06, Roger Pau Monne wrote: > The current logic to handle the BRANCH_HARDEN option will report it as enabled > even when build-time disabled. Fix this by only allowing the option to be set > when support for it is built into Xen. > > Fixes: 2d6f36daa086 ('x86/nospec: Introduce CONFIG_SPECULATIVE_HARDEN_BRANCH') > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> > --- > Changes since v1: > - Use no_config_param(). > --- > xen/arch/x86/spec_ctrl.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c > index 421fe3f640df..4ce8a7a0b8ef 100644 > --- a/xen/arch/x86/spec_ctrl.c > +++ b/xen/arch/x86/spec_ctrl.c > @@ -50,7 +50,8 @@ static int8_t __initdata opt_psfd = -1; > int8_t __ro_after_init opt_ibpb_ctxt_switch = -1; > int8_t __read_mostly opt_eager_fpu = -1; > int8_t __read_mostly opt_l1d_flush = -1; > -static bool __initdata opt_branch_harden = true; > +static bool __initdata opt_branch_harden = > + IS_ENABLED(CONFIG_SPECULATIVE_HARDEN_BRANCH); > > bool __initdata bsp_delay_spec_ctrl; > uint8_t __read_mostly default_xen_spec_ctrl; > @@ -268,7 +269,14 @@ static int __init cf_check parse_spec_ctrl(const char *s) > else if ( (val = parse_boolean("l1d-flush", s, ss)) >= 0 ) > opt_l1d_flush = val; > else if ( (val = parse_boolean("branch-harden", s, ss)) >= 0 ) > + { > +#ifdef CONFIG_SPECULATIVE_HARDEN_BRANCH > opt_branch_harden = val; > +#else > + no_config_param("SPECULATIVE_HARDEN_BRANCH", "spec-ctrl", s, ss); > + rc = -EINVAL; > +#endif > + } If you use #ifdef (rather than IS_ENABLED()) here, the variable probably shouldn't exist at all when the Kconfig option is off (albeit yet, another #ifdef would then be needed higher up in the function). Question is - why don't you use IS_ENABLED() here as well? Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |