• Michael Ellerman's avatar
    powerpc/xmon: Lower limits on nidump and ndump · d64c7dbb
    Michael Ellerman authored
    In xmon we have two variables that are used by the dump commands.
    There's ndump which is the number of bytes to dump using 'd', and
    nidump which is the number of instructions to dump using 'di'.
    
    ndump starts as 64 and nidump starts as 16, but both can be set by the
    user.
    
    It's fairly common to be pasting addresses into xmon when trying to
    debug something, and if you inadvertently double paste an address like
    so:
    
      0:mon> di c000000002101f6c c000000002101f6c
    
    The second value is interpreted as the number of instructions to dump.
    
    Luckily it doesn't dump 13 quintrillion instructions, the value is
    limited to MAX_DUMP (128K). But as each instruction is dumped on a
    single line, that's still a lot of output. If you're on a slow console
    that can take multiple minutes to print. If you were "just popping in
    and out of xmon quickly before the RCU/hardlockup detector fires" you
    are now having a bad day.
    
    Things are not as bad with 'd' because we print 16 bytes per line, so
    it's fewer lines. But it's still quite a lot.
    
    So shrink the maximum for 'd' to 64K (one page), which is 4096 lines.
    For 'di' add a new limit which is the above / 4 - because instructions
    are 4 bytes, meaning again we can dump one page.
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200219110007.31195-1-mpe@ellerman.id.au
    d64c7dbb
xmon.c 88.3 KB