• Oliver O'Halloran's avatar
    powerpc/xmon: Fix whitespace handling in getstring() · 066bc357
    Oliver O'Halloran authored
    The ls (lookup symbol) and zr (reboot) commands use xmon's getstring()
    helper to read a string argument from the xmon prompt. This function
    skips over leading whitespace, but doesn't check if the first
    "non-whitespace" character is a newline which causes some odd
    behaviour (<enter> indicates a the enter key was pressed):
    
      0:mon> ls printk<enter>
      printk: c0000000001680c4
    
      0:mon> ls<enter>
      printk<enter>
      Symbol '
      printk' not found.
      0:mon>
    
    With commit 2d9b332d ("powerpc/xmon: Allow passing an argument to
    ppc_md.restart()") we have a similar problem with the zr command.
    Previously zr took no arguments so "zr<enter> would trigger a reboot.
    With that patch applied a second newline needs to be sent in order for
    the reboot to occur. Fix this by checking if the leading whitespace
    ended on a newline:
    
      0:mon> ls<enter>
      Symbol '' not found.
    
    Fixes: 2d9b332d ("powerpc/xmon: Allow passing an argument to ppc_md.restart()")
    Reported-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarOliver O'Halloran <oohall@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200217041343.2454-1-oohall@gmail.com
    066bc357
xmon.c 88.2 KB