6a3d1e81a4
With CONFIG_EXPOLINE_AUTO=y the call of spectre_v2_auto_early() via early_initcall is done *after* the early_param functions. This overwrites any settings done with the nobp/no_spectre_v2/spectre_v2 parameters. The code patching for the kernel is done after the evaluation of the early parameters but before the early_initcall is done. The end result is a kernel image that is patched correctly but the kernel modules are not. Make sure that the nospec auto detection function is called before the early parameters are evaluated and before the code patching is done. Fixes: 6e179d64126b ("s390: add automatic detection of the spectre defense") Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 lines
342 B
C
18 lines
342 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_S390_EXPOLINE_H
|
|
#define _ASM_S390_EXPOLINE_H
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <linux/types.h>
|
|
|
|
extern int nospec_disable;
|
|
|
|
void nospec_init_branches(void);
|
|
void nospec_auto_detect(void);
|
|
void nospec_revert(s32 *start, s32 *end);
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#endif /* _ASM_S390_EXPOLINE_H */
|