Michal Hocko 2d3a36a479 mm, mempolicy: fix up gup usage in lookup_node
ba841078cd05 ("mm/mempolicy: Allow lookup_node() to handle fatal signal")
has added a special casing for 0 return value because that was a possible
gup return value when interrupted by fatal signal.  This has been fixed by
ae46d2aa6a7f ("mm/gup: Let __get_user_pages_locked() return -EINTR for
fatal signal") in the mean time so ba841078cd05 can be reverted.

This patch however doesn't go all the way to revert it because the check
for 0 is wrong and confusing here.  Firstly it is inherently unsafe to
access the page when get_user_pages_locked returns 0 (aka no page
returned).

Fortunatelly this will not happen because get_user_pages_locked will not
return 0 when nr_pages > 0 unless FOLL_NOWAIT is specified which is not
the case here.  Document this potential error code in gup code while we
are at it.

Signed-off-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Xu <peterx@redhat.com>
Link: http://lkml.kernel.org/r/20200421071026.18394-1-mhocko@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-03 20:09:49 -07:00
..
2020-04-10 15:36:21 -07:00
2020-04-07 10:43:41 -07:00
2020-06-03 20:09:45 -07:00
2020-02-04 03:05:25 +00:00
2020-04-07 10:43:41 -07:00
2020-04-07 10:43:38 -07:00
2020-06-02 13:25:52 -07:00
2020-04-10 15:36:21 -07:00
2020-04-10 15:36:21 -07:00
2020-06-02 10:59:12 -07:00
2020-04-07 10:43:38 -07:00
2019-09-17 15:20:17 -07:00
2020-06-02 10:59:11 -07:00
2020-06-02 10:59:11 -07:00