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 <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to