• Christophe Leroy's avatar
    kdb: print real address of pointers instead of hashed addresses · 568fb6f4
    Christophe Leroy authored
    Since commit ad67b74d ("printk: hash addresses printed with %p"),
    all pointers printed with %p are printed with hashed addresses
    instead of real addresses in order to avoid leaking addresses in
    dmesg and syslog. But this applies to kdb too, with is unfortunate:
    
        Entering kdb (current=0x(ptrval), pid 329) due to Keyboard Entry
        kdb> ps
        15 sleeping system daemon (state M) processes suppressed,
        use 'ps A' to see all.
        Task Addr       Pid   Parent [*] cpu State Thread     Command
        0x(ptrval)      329      328  1    0   R  0x(ptrval) *sh
    
        0x(ptrval)        1        0  0    0   S  0x(ptrval)  init
        0x(ptrval)        3        2  0    0   D  0x(ptrval)  rcu_gp
        0x(ptrval)        4        2  0    0   D  0x(ptrval)  rcu_par_gp
        0x(ptrval)        5        2  0    0   D  0x(ptrval)  kworker/0:0
        0x(ptrval)        6        2  0    0   D  0x(ptrval)  kworker/0:0H
        0x(ptrval)        7        2  0    0   D  0x(ptrval)  kworker/u2:0
        0x(ptrval)        8        2  0    0   D  0x(ptrval)  mm_percpu_wq
        0x(ptrval)       10        2  0    0   D  0x(ptrval)  rcu_preempt
    
    The whole purpose of kdb is to debug, and for debugging real addresses
    need to be known. In addition, data displayed by kdb doesn't go into
    dmesg.
    
    This patch replaces all %p by %px in kdb in order to display real
    addresses.
    
    Fixes: ad67b74d ("printk: hash addresses printed with %p")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
    Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
    568fb6f4
kdb_support.c 23.9 KB