From: Martin Schwidefsky Date: Fri, 1 Mar 2019 14:28:09 +0000 (+0100) Subject: s390/suspend: fix prefix register reset in swsusp_arch_resume X-Git-Tag: v5.1-rc1~173^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c8e8ed386a5191d8011d32b5663da10320e7d552;p=thirdparty%2Fkernel%2Flinux.git s390/suspend: fix prefix register reset in swsusp_arch_resume The reset of the prefix to zero in swsusp_arch_resume uses a 4 byte stack slot. With CONFIG_VMAP_STACK=y this is now in the vmalloc area, this works only with DAT enabled. Move the DAT disable in swsusp_arch_resume after the prefix reset. Signed-off-by: Martin Schwidefsky --- diff --git a/arch/s390/kernel/swsusp.S b/arch/s390/kernel/swsusp.S index 537f97fde37f9..2f997eb70e181 100644 --- a/arch/s390/kernel/swsusp.S +++ b/arch/s390/kernel/swsusp.S @@ -124,13 +124,13 @@ ENTRY(swsusp_arch_resume) lghi %r2,1 brasl %r14,arch_set_page_states - /* Deactivate DAT */ - stnsm __SF_EMPTY(%r15),0xfb - /* Set prefix page to zero */ xc __SF_EMPTY(4,%r15),__SF_EMPTY(%r15) spx __SF_EMPTY(%r15) + /* Deactivate DAT */ + stnsm __SF_EMPTY(%r15),0xfb + /* Restore saved image */ larl %r1,restore_pblist lg %r1,0(%r1)