Skip to content

Commit

Permalink
powerpc/book3s64/kuap/kuep: Move uamor setup to pkey init
Browse files Browse the repository at this point in the history
This patch consolidates UAMOR update across pkey, kuap and kuep features.
The boot cpu initialize UAMOR via pkey init and both radix/hash do the
secondary cpu UAMOR init in early_init_mmu_secondary.

We don't check for mmu_feature in radix secondary init because UAMOR
is a supported SPRN with all CPUs supporting radix translation.
The old code was not updating UAMOR if we had smap disabled and smep enabled.
This change handles that case.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201127044424.40686-5-aneesh.kumar@linux.ibm.com
  • Loading branch information
Aneesh Kumar K.V authored and Michael Ellerman committed Dec 3, 2020
1 parent 227ae62 commit 39df17b
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions arch/powerpc/mm/book3s64/radix_pgtable.c
Original file line number Diff line number Diff line change
Expand Up @@ -620,9 +620,6 @@ void setup_kuap(bool disabled)
cur_cpu_spec->mmu_features |= MMU_FTR_RADIX_KUAP;
}

/* Make sure userspace can't change the AMR */
mtspr(SPRN_UAMOR, 0);

/*
* Set the default kernel AMR values on all cpus.
*/
Expand Down Expand Up @@ -721,6 +718,9 @@ void radix__early_init_mmu_secondary(void)

radix__switch_mmu_context(NULL, &init_mm);
tlbiel_all();

/* Make sure userspace can't change the AMR */
mtspr(SPRN_UAMOR, 0);
}

void radix__mmu_cleanup_all(void)
Expand Down

0 comments on commit 39df17b

Please sign in to comment.