• Christophe Leroy's avatar
    powerpc/process: Fix interleaved output in show_user_instructions() · fb2d9505
    Christophe Leroy authored
    When two processes crash at the same time, we sometimes encounter
    interleaving in the middle of a line:
    
      init[1]: segfault (11) at 0 nip 0 lr 0 code 1
      init[1]: code: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
      init[74]: segfault (11) at 10a74 nip 1000c198 lr 100078c8 code 1 in sh[10000000+14000]
      XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
      init[1]: code: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
      init[74]: code: 90010024 bf61000c 91490a7c 3fa01002 3be00000 7d3e4b78 3bbd0c20 3b600000
      init[74]: code: 3b9d0040 7c7fe02e 2f830000 419e0028 <89230000> 2f890000 41be001c 4b7f6e79
    
    This patch fixes it by preparing complete lines in a buffer and
    printing it at once.
    
    Fixes: 88b0fe17 ("powerpc: Add show_user_instructions()")
    Reviewed-by: default avatarMurilo Opsfelder Araujo <muriloo@linux.ibm.com>
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
    [mpe: Use seq_buf_printf() not seq_buf_puts() which doesn't NULL terminate]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    fb2d9505
process.c 55.7 KB