On Mon, April 21, 2025 1:34 PM Cavitt, Jonathan wrote:
> The page fault handler should reject write/atomic access to read only VMAs.
> Add code to handle this in handle_pagefault after the VMA lookup.
> 
> Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
> Signed-off-by: Jonathan Cavitt <jonathan.cav...@intel.com>
> Suggested-by: Matthew Brost <matthew.br...@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt_pagefault.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt_pagefault.c
> b/drivers/gpu/drm/xe/xe_gt_pagefault.c
> index 10622ca471a2..d4e3b7eb165a 100644
> --- a/drivers/gpu/drm/xe/xe_gt_pagefault.c
> +++ b/drivers/gpu/drm/xe/xe_gt_pagefault.c
> @@ -237,6 +237,11 @@ static int handle_pagefault(struct xe_gt *gt, struct
> pagefault *pf)
>               goto unlock_vm;
>       }
> 
> +     if (xe_vma_read_only(vma) && pf->access_type !=
> ACCESS_TYPE_READ) {
> +             err = -EPERM;
> +             goto unlock_vm;
> +     }
> + 

LGTM.
Reviewed-by: Shuicheng Lin <shuicheng....@intel.com>

>       atomic = access_is_atomic(pf->access_type);
> 
>       if (xe_vma_is_cpu_addr_mirror(vma))
> --
> 2.43.0

Reply via email to