• Martin Schwidefsky's avatar
    [S390] add missing .set function for NT_S390_LAST_BREAK regset · b934069c
    Martin Schwidefsky authored
    The last breaking event address is a read-only value, the regset misses the
    .set function. If a PTRACE_SETREGSET is done for NT_S390_LAST_BREAK we
    get an oops due to a branch to zero:
    
    Kernel BUG at 0000000000000002 verbose debug info unavailable
    illegal operation: 0001 #1 SMP
    ...
    Call Trace:
    (<0000000000158294> ptrace_regset+0x184/0x188)
     <00000000001595b6> ptrace_request+0x37a/0x4fc
     <0000000000109a78> arch_ptrace+0x108/0x1fc
     <00000000001590d6> SyS_ptrace+0xaa/0x12c
     <00000000005c7a42> sysc_noemu+0x16/0x1c
     <000003fffd5ec10c> 0x3fffd5ec10c
    Last Breaking-Event-Address:
     <0000000000158242> ptrace_regset+0x132/0x188
    
    Add a nop .set function to prevent the branch to zero.
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: stable@kernel.org
    b934069c
ptrace.c 33.8 KB