• Wei Li's avatar
    arm64: kgdb: Fix single-step exception handling oops · 8523c006
    Wei Li authored
    After entering kdb due to breakpoint, when we execute 'ss' or 'go' (will
    delay installing breakpoints, do single-step first), it won't work
    correctly, and it will enter kdb due to oops.
    
    It's because the reason gotten in kdb_stub() is not as expected, and it
    seems that the ex_vector for single-step should be 0, like what arch
    powerpc/sh/parisc has implemented.
    
    Before the patch:
    Entering kdb (current=0xffff8000119e2dc0, pid 0) on processor 0 due to Keyboard Entry
    [0]kdb> bp printk
    Instruction(i) BP #0 at 0xffff8000101486cc (printk)
        is enabled   addr at ffff8000101486cc, hardtype=0 installed=0
    
    [0]kdb> g
    
    / # echo h > /proc/sysrq-trigger
    
    Entering kdb (current=0xffff0000fa878040, pid 266) on processor 3 due to Breakpoint @ 0xffff8000101486cc
    [3]kdb> ss
    
    Entering kdb (current=0xffff0000fa878040, pid 266) on processor 3 Oops: (null)
    due to oops @ 0xffff800010082ab8
    CPU: 3 PID: 266 Comm: sh Not tainted 5.7.0-rc4-13839-gf0e5ad491718 #6
    Hardware name: lin...
    8523c006
kgdb.c 8.95 KB