lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 552/717] s390/kexec_file: fix diag308 subcode when loading crash kernel
    Date
    From: Philipp Rudo <prudo@linux.ibm.com>

    commit 613775d62ec60202f98d2c5f520e6e9ba6dd4ac4 upstream.

    diag308 subcode 0 performes a clear reset which inlcudes the reset of
    all registers in the system. While this is the preferred behavior when
    loading a normal kernel via kexec it prevents the crash kernel to store
    the register values in the dump. To prevent this use subcode 1 when
    loading a crash kernel instead.

    Fixes: ee337f5469fd ("s390/kexec_file: Add crash support to image loader")
    Cc: <stable@vger.kernel.org> # 4.17
    Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
    Reported-by: Xiaoying Yan <yiyan@redhat.com>
    Tested-by: Lianbo Jiang <lijiang@redhat.com>
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/s390/purgatory/head.S | 9 +++++----
    1 file changed, 5 insertions(+), 4 deletions(-)

    --- a/arch/s390/purgatory/head.S
    +++ b/arch/s390/purgatory/head.S
    @@ -62,14 +62,15 @@
    jh 10b
    .endm

    -.macro START_NEXT_KERNEL base
    +.macro START_NEXT_KERNEL base subcode
    lg %r4,kernel_entry-\base(%r13)
    lg %r5,load_psw_mask-\base(%r13)
    ogr %r4,%r5
    stg %r4,0(%r0)

    xgr %r0,%r0
    - diag %r0,%r0,0x308
    + lghi %r1,\subcode
    + diag %r0,%r1,0x308
    .endm

    .text
    @@ -123,7 +124,7 @@ ENTRY(purgatory_start)
    je .start_crash_kernel

    /* start normal kernel */
    - START_NEXT_KERNEL .base_crash
    + START_NEXT_KERNEL .base_crash 0

    .return_old_kernel:
    lmg %r6,%r15,gprregs-.base_crash(%r13)
    @@ -227,7 +228,7 @@ ENTRY(purgatory_start)
    MEMCPY %r9,%r10,%r11

    /* start crash kernel */
    - START_NEXT_KERNEL .base_dst
    + START_NEXT_KERNEL .base_dst 1


    load_psw_mask:

    \
     
     \ /
      Last update: 2020-12-28 15:25    [W:2.607 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site