Re: [PATCH 1/3] xen/gntdev: fix up blockable calls to mn_invl_range_start
From: Juergen Gross
Date: Tue Aug 28 2018 - 02:07:13 EST
On 27/08/18 13:26, Michal Hocko wrote:
> From: Michal Hocko <mhocko@xxxxxxxx>
>
> 93065ac753e4 ("mm, oom: distinguish blockable mode for mmu notifiers")
> has introduced blockable parameter to all mmu_notifiers and the notifier
> has to back off when called in !blockable case and it could block down
> the road.
>
> The above commit implemented that for mn_invl_range_start but both
> in_range checks are done unconditionally regardless of the blockable
> mode and as such they would fail all the time for regular calls.
> Fix this by checking blockable parameter as well.
>
> Once we are there we can remove the stale TODO. The lock has to be
> sleepable because we wait for completion down in gnttab_unmap_refs_sync.
>
> Changes since v1
> - pull in_range check into mn_invl_range_start - Juergen
>
> Fixes: 93065ac753e4 ("mm, oom: distinguish blockable mode for mmu notifiers")
> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> Cc: Juergen Gross <jgross@xxxxxxxx>
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>
Reviewed-by: Juergen Gross <jgross@xxxxxxxx>
Juergen