Re: [PATCH 19/34] x86, pkeys: optimize fault handling in access_error()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 3 Dec 2015, Dave Hansen wrote:
> diff -puN arch/x86/mm/fault.c~pkeys-15-access_error arch/x86/mm/fault.c
> --- a/arch/x86/mm/fault.c~pkeys-15-access_error	2015-12-03 16:21:26.872727820 -0800
> +++ b/arch/x86/mm/fault.c	2015-12-03 16:21:26.876728002 -0800
> @@ -900,10 +900,16 @@ bad_area(struct pt_regs *regs, unsigned
>  static inline bool bad_area_access_from_pkeys(unsigned long error_code,
>  		struct vm_area_struct *vma)
>  {
> +	/* This code is always called on the current mm */
> +	int foreign = 0;

arch_vma_access_permitted takes a bool ....

>  	if (!boot_cpu_has(X86_FEATURE_OSPKE))
>  		return false;
>  	if (error_code & PF_PK)
>  		return true;
> +	/* this checks permission keys on the VMA: */
> +	if (!arch_vma_access_permitted(vma, (error_code & PF_WRITE), foreign))
> +		return true;
>  	return false;
>  }
>  
> @@ -1091,6 +1097,8 @@ int show_unhandled_signals = 1;
>  static inline int
>  access_error(unsigned long error_code, struct vm_area_struct *vma)
>  {
> +	/* This is only called for the current mm, so: */
> +	int foreign = 0;

Ditto.

Other than that: Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]