Re: [PATCH 5.16 29/37] arm64: entry: Add vectors that have the bhb mitigation sequences

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 11, 2022 at 12:27:29AM +0100, Pavel Machek wrote:
> Hi!
> 
> > From: James Morse <james.morse@xxxxxxx>
> > 
> > commit ba2689234be92024e5635d30fe744f4853ad97db upstream.
> > 
> > Some CPUs affected by Spectre-BHB need a sequence of branches, or a
> > firmware call to be run before any indirect branch. This needs to go
> > in the vectors. No CPU needs both.
> > 
> > While this can be patched in, it would run on all CPUs as there is a
> > single set of vectors. If only one part of a big/little combination is
> > affected, the unaffected CPUs have to run the mitigation too.
> 
> This adds build error. Same problem is in 5.10.
> 
> > --- /dev/null
> > +++ b/arch/arm64/include/asm/vectors.h
> > @@ -0,0 +1,34 @@
> ...
> > +/*
> > + * Note: the order of this enum corresponds to two arrays in entry.S:
> > + * tramp_vecs and __bp_harden_el1_vectors. By default the canonical
> > + * 'full fat' vectors are used directly.
> > + */
> > +enum arm64_bp_harden_el1_vectors {
> > +#ifdef CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY
> > +	/*
> > +	 * Perform the BHB loop mitigation, before branching to the canonical
> > +	 * vectors.
> > +	 */
> > +	EL1_VECTOR_BHB_LOOP,
> > +
> > +	/*
> > +	 * Make the SMC call for firmware mitigation, before branching to the
> > +	 * canonical vectors.
> > +	 */
> > +	EL1_VECTOR_BHB_FW,
> > +#endif /* CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY */
> > +
> > +	/*
> > +	 * Remap the kernel before branching to the canonical vectors.
> > +	 */
> > +	EL1_VECTOR_KPTI,
> > ++};
> > +
> 
> 
> Note "++". Following patch fixes this up, but it is still a trap for
> people trying to bisect.

Ick, ok, will try to fix up, thanks for finding this.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux