s390/suspend: fix prefix register reset in swsusp_arch_resume
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 1 Mar 2019 14:28:09 +0000 (15:28 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 1 Mar 2019 15:23:27 +0000 (16:23 +0100)
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 <schwidefsky@de.ibm.com>
arch/s390/kernel/swsusp.S

index 537f97fde37f977c4d6b3af0d45aab00926644d5..2f997eb70e181e8f849f401ea8b1a86484f9ff29 100644 (file)
@@ -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)