Commit dc64de40 authored by Will Deacon's avatar Will Deacon
Browse files

Merge branch 'for-next/fixes' into for-next/core

Merge in for-next/fixes, as subsequent improvements to our early PI
code that disallow BSS exports depend on the 'arm64_use_ng_mappings'
fix here.

* for-next/fixes:
  arm64: cpufeature: Move arm64_use_ng_mappings to the .data section to prevent wrong idmap generation
  arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays
parents 48055fb8 363cd2b8
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -114,7 +114,14 @@ static struct arm64_cpu_capabilities const __ro_after_init *cpucap_ptrs[ARM64_NC

DECLARE_BITMAP(boot_cpucaps, ARM64_NCAPS);

bool arm64_use_ng_mappings = false;
/*
 * arm64_use_ng_mappings must be placed in the .data section, otherwise it
 * ends up in the .bss section where it is initialized in early_map_kernel()
 * after the MMU (with the idmap) was enabled. create_init_idmap() - which
 * runs before early_map_kernel() and reads the variable via PTE_MAYBE_NG -
 * may end up generating an incorrect idmap page table attributes.
 */
bool arm64_use_ng_mappings __read_mostly = false;
EXPORT_SYMBOL(arm64_use_ng_mappings);

DEFINE_PER_CPU_READ_MOSTLY(const char *, this_cpu_vector) = vectors;
+2 −0
Original line number Diff line number Diff line
@@ -879,10 +879,12 @@ static u8 spectre_bhb_loop_affected(void)
	static const struct midr_range spectre_bhb_k132_list[] = {
		MIDR_ALL_VERSIONS(MIDR_CORTEX_X3),
		MIDR_ALL_VERSIONS(MIDR_NEOVERSE_V2),
		{},
	};
	static const struct midr_range spectre_bhb_k38_list[] = {
		MIDR_ALL_VERSIONS(MIDR_CORTEX_A715),
		MIDR_ALL_VERSIONS(MIDR_CORTEX_A720),
		{},
	};
	static const struct midr_range spectre_bhb_k32_list[] = {
		MIDR_ALL_VERSIONS(MIDR_CORTEX_A78),