Turns out get_user_pages_fast and __get_user_pages_fast return different values on error when given a single page: __get_user_pages_fast returns 0. get_user_pages_fast returns either 0 or an error.
Callers of get_user_pages_fast expect an error so fix it up to return an error consistently. Stress the difference between get_user_pages_fast and __get_user_pages_fast to make sure callers aren't confused. Changes from v1: limit code changes to get_user_pages_fast. document __get_user_pages_fast fix a bug in caller Michael S. Tsirkin (3): mm/gup_benchmark: handle gup failures gup: return -EFAULT on access_ok failure mm/gup: document return value arch/mips/mm/gup.c | 2 ++ arch/s390/mm/gup.c | 2 ++ arch/sh/mm/gup.c | 2 ++ arch/sparc/mm/gup.c | 4 ++++ mm/gup.c | 9 +++++++-- mm/gup_benchmark.c | 5 +++-- mm/util.c | 6 ++++-- 7 files changed, 24 insertions(+), 6 deletions(-) -- MST