On Wed, Jun 17, 2020 at 11:02:38AM +0200, Michal Hocko wrote: > Damn, I forgot to commit my last change (s@err@ret@). Sorry about the > noise. > > From 50297dd026ebf71fe901e1945a9ce1e8d8aa083b Mon Sep 17 00:00:00 2001 > From: Michal Hocko <mhocko@xxxxxxxx> > Date: Wed, 17 Jun 2020 10:40:47 +0200 > Subject: [PATCH] mm: do_swap_page fix up the error code > > do_swap_page returns error codes from the VM_FAULT* space. try_charge > might return -ENOMEM, though, and then do_swap_page simply returns 0 > which means a success. > > We almost never return ENOMEM for GFP_KERNEL single page charge. Except > for async OOM handling (oom_disabled v1). So this needs translation to > VM_FAULT_OOM otherwise the the page fault path will not notify the > userspace and wait for an action. > > Fixes: 4c6355b25e8b ("mm: memcontrol: charge swapin pages on instantiation") > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Good catch, thanks Michal. Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>