powerpc/64s: Remove PROT_SAO support
authorNicholas Piggin <npiggin@gmail.com>
Fri, 3 Jul 2020 01:19:57 +0000 (11:19 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 21 Jul 2020 14:01:25 +0000 (00:01 +1000)
commit5c9fa16e8abd342ce04dc830c1ebb2a03abf6c05
treeee54ef37787256227a5e2929a888951a8524f5ac
parentf4ac1774f2cba44994ce9ac0a65772e4656ac2df
powerpc/64s: Remove PROT_SAO support

ISA v3.1 does not support the SAO storage control attribute required to
implement PROT_SAO. PROT_SAO was used by specialised system software
(Lx86) that has been discontinued for about 7 years, and is not thought
to be used elsewhere, so removal should not cause problems.

We rather remove it than keep support for older processors, because
live migrating guest partitions to newer processors may not be possible
if SAO is in use (or worse allowed with silent races).

- PROT_SAO stays in the uapi header so code using it would still build.
- arch_validate_prot() is removed, the generic version rejects PROT_SAO
  so applications would get a failure at mmap() time.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Drop KVM change for the time being]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200703011958.1166620-3-npiggin@gmail.com
13 files changed:
arch/powerpc/include/asm/book3s/64/pgtable.h
arch/powerpc/include/asm/cputable.h
arch/powerpc/include/asm/mman.h
arch/powerpc/include/asm/nohash/64/pgtable.h
arch/powerpc/include/uapi/asm/mman.h
arch/powerpc/kernel/dt_cpu_ftrs.c
arch/powerpc/mm/book3s64/hash_utils.c
include/linux/mm.h
include/trace/events/mmflags.h
mm/ksm.c
tools/testing/selftests/powerpc/mm/.gitignore
tools/testing/selftests/powerpc/mm/Makefile
tools/testing/selftests/powerpc/mm/prot_sao.c [deleted file]