Re: [PATCH stable-4.4.y backport] KVM: arm/arm64: Don't reschedule in unmap_stage2_range()

From: Greg KH
Date: Mon Aug 24 2020 - 12:16:53 EST


On Mon, Aug 24, 2020 at 12:28:54PM +0100, Will Deacon wrote:
> Upstream commits fdfe7cbd5880 ("KVM: Pass MMU notifier range flags to
> kvm_unmap_hva_range()") and b5331379bc62 ("KVM: arm64: Only reschedule
> if MMU_NOTIFIER_RANGE_BLOCKABLE is not set") fix a "sleeping from invalid
> context" BUG caused by unmap_stage2_range() attempting to reschedule when
> called on the OOM path.
>
> Unfortunately, these patches rely on the MMU notifier callback being
> passed knowledge about whether or not blocking is permitted, which was
> introduced in 4.19. Rather than backport this considerable amount of
> infrastructure just for KVM on arm, instead just remove the conditional
> reschedule.
>
> Cc: <stable@xxxxxxxxxxxxxxx> # v4.4 only
> Cc: Marc Zyngier <maz@xxxxxxxxxx>
> Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
> Cc: James Morse <james.morse@xxxxxxx>
> Signed-off-by: Will Deacon <will@xxxxxxxxxx>

Thanks for tall the backports, now queued up.

greg k-h