On Wed, May 22, 2019 at 04:46:16PM -0500, Justin Forbes wrote:
On Mon, May 20, 2019 at 7:30 AM Greg Kroah-Hartman gregkh@linuxfoundation.org wrote:
From: Martin Schwidefsky schwidefsky@de.ibm.com
commit 1a42010cdc26bb7e5912984f3c91b8c6d55f089a upstream.
Define the gup_fast_permitted to check against the asce_limit of the mm attached to the current task, then replace the s390 specific gup code with the generic implementation in mm/gup.c.
Signed-off-by: Martin Schwidefsky schwidefsky@de.ibm.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
While this code seems to work fine upstream, when backported to 5.0 it fails to build:
BUILDSTDERR: In file included from ./include/linux/mm.h:98, BUILDSTDERR: from mm/gup.c:6: BUILDSTDERR: mm/gup.c: In function '__get_user_pages_fast': BUILDSTDERR: ./arch/s390/include/asm/pgtable.h:1277:28: error: too many arguments to function 'gup_fast_permitted' BUILDSTDERR: #define gup_fast_permitted gup_fast_permitted BUILDSTDERR: ^~~~~~~~~~~~~~~~~~ BUILDSTDERR: mm/gup.c:1856:6: note: in expansion of macro 'gup_fast_permitted' BUILDSTDERR: if (gup_fast_permitted(start, nr_pages, write)) {
It is missing upstream commit ad8cfb9c42ef83ecf4079bc7d77e6557648e952b mm/gup: Remove the 'write' parameter from gup_fast_permitted()
Oops, thanks for catching this. I'll go queue this patch up now.
greg k-h