powerpc/mm: Remove unneeded #ifdef CONFIG_PPC_MEM_KEYS
In fault.c, #ifdef CONFIG_PPC_MEM_KEYS is not needed because all functions are always defined, and arch_vma_access_permitted() always returns true when CONFIG_PPC_MEM_KEYS is not defined so access_pkey_error() will return false so bad_access_pkey() will never be called. Include linux/pkeys.h to get a definition of vma_pkeys() for bad_access_pkey(). Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/8038392f38d81f2ad169347efac29146f553b238.1615819955.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
b77878052a
commit
98c26a7275
@ -33,6 +33,7 @@
|
||||
#include <linux/hugetlb.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/kfence.h>
|
||||
#include <linux/pkeys.h>
|
||||
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/interrupt.h>
|
||||
@ -88,7 +89,6 @@ static noinline int bad_area(struct pt_regs *regs, unsigned long address)
|
||||
return __bad_area(regs, address, SEGV_MAPERR);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PPC_MEM_KEYS
|
||||
static noinline int bad_access_pkey(struct pt_regs *regs, unsigned long address,
|
||||
struct vm_area_struct *vma)
|
||||
{
|
||||
@ -128,7 +128,6 @@ static noinline int bad_access_pkey(struct pt_regs *regs, unsigned long address,
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static noinline int bad_access(struct pt_regs *regs, unsigned long address)
|
||||
{
|
||||
@ -235,7 +234,6 @@ static bool bad_kernel_fault(struct pt_regs *regs, unsigned long error_code,
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PPC_MEM_KEYS
|
||||
static bool access_pkey_error(bool is_write, bool is_exec, bool is_pkey,
|
||||
struct vm_area_struct *vma)
|
||||
{
|
||||
@ -249,7 +247,6 @@ static bool access_pkey_error(bool is_write, bool is_exec, bool is_pkey,
|
||||
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
static bool access_error(bool is_write, bool is_exec, struct vm_area_struct *vma)
|
||||
{
|
||||
@ -497,11 +494,9 @@ retry:
|
||||
return bad_area(regs, address);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PPC_MEM_KEYS
|
||||
if (unlikely(access_pkey_error(is_write, is_exec,
|
||||
(error_code & DSISR_KEYFAULT), vma)))
|
||||
return bad_access_pkey(regs, address, vma);
|
||||
#endif /* CONFIG_PPC_MEM_KEYS */
|
||||
|
||||
if (unlikely(access_error(is_write, is_exec, vma)))
|
||||
return bad_access(regs, address);
|
||||
|
Loading…
x
Reference in New Issue
Block a user