On Tue, Jul 07, 2020 at 06:01:50AM +0300, Jarkko Sakkinen wrote:
> +++ b/mm/mprotect.c
> @@ -603,13 +603,20 @@ static int do_mprotect_pkey(unsigned long start, size_t 
> len,
>                       goto out;
>               }
>  
> +             tmp = vma->vm_end;
> +             if (tmp > end)
> +                     tmp = end;
> +
>               error = security_file_mprotect(vma, reqprot, prot);
>               if (error)
>                       goto out;
>  
> -             tmp = vma->vm_end;
> -             if (tmp > end)
> -                     tmp = end;

You don't need to move this any more, right?

> +             if (vma->vm_ops && vma->vm_ops->mprotect) {
> +                     error = vma->vm_ops->mprotect(vma, nstart, tmp, prot);
> +                     if (error)
> +                             goto out;
> +             }
> +
>               error = mprotect_fixup(vma, &prev, nstart, tmp, newflags);
>               if (error)
>                       goto out;
> -- 
> 2.25.1
> 

Reply via email to