Typing 'btc' on kdb doing all sorts of fail. Sometimes it would
crash, sometimes display nothing, and sometimes hang.
Bisect tracked this down to the commit ad67b74d2469 ("printk: hash
addresses printed with %p"), suggesting an obvious fix. The pointer
used internally in kdb shouldn't be hashed, so switch it to %px.
Fixes: ad67b74d2469 ("printk: hash addresses printed with %p")
Cc: [email protected]
Signed-off-by: Douglas Anderson <[email protected]>
---
kernel/debug/kdb/kdb_bt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/debug/kdb/kdb_bt.c b/kernel/debug/kdb/kdb_bt.c
index 6ad4a9fcbd6f..7921ae4fca8d 100644
--- a/kernel/debug/kdb/kdb_bt.c
+++ b/kernel/debug/kdb/kdb_bt.c
@@ -179,14 +179,14 @@ kdb_bt(int argc, const char **argv)
kdb_printf("no process for cpu %ld\n", cpu);
return 0;
}
- sprintf(buf, "btt 0x%p\n", KDB_TSK(cpu));
+ sprintf(buf, "btt 0x%px\n", KDB_TSK(cpu));
kdb_parse(buf);
return 0;
}
kdb_printf("btc: cpu status: ");
kdb_parse("cpu\n");
for_each_online_cpu(cpu) {
- sprintf(buf, "btt 0x%p\n", KDB_TSK(cpu));
+ sprintf(buf, "btt 0x%px\n", KDB_TSK(cpu));
kdb_parse(buf);
touch_nmi_watchdog();
}
--
2.19.1.568.g152ad8e336-goog
On Tue, Oct 30, 2018 at 01:53:34PM -0700, Douglas Anderson wrote:
> Typing 'btc' on kdb doing all sorts of fail. Sometimes it would
> crash, sometimes display nothing, and sometimes hang.
>
> Bisect tracked this down to the commit ad67b74d2469 ("printk: hash
> addresses printed with %p"), suggesting an obvious fix. The pointer
> used internally in kdb shouldn't be hashed, so switch it to %px.
>
> Fixes: ad67b74d2469 ("printk: hash addresses printed with %p")
> Cc: [email protected]
> Signed-off-by: Douglas Anderson <[email protected]>
I think we've already got a fix for this:
https://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git/commit/?h=kgdb-next&id=a0ca72c2d1ac83d0853a23ffde8f3624648b1ee8
Daniel.
> ---
>
> kernel/debug/kdb/kdb_bt.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/debug/kdb/kdb_bt.c b/kernel/debug/kdb/kdb_bt.c
> index 6ad4a9fcbd6f..7921ae4fca8d 100644
> --- a/kernel/debug/kdb/kdb_bt.c
> +++ b/kernel/debug/kdb/kdb_bt.c
> @@ -179,14 +179,14 @@ kdb_bt(int argc, const char **argv)
> kdb_printf("no process for cpu %ld\n", cpu);
> return 0;
> }
> - sprintf(buf, "btt 0x%p\n", KDB_TSK(cpu));
> + sprintf(buf, "btt 0x%px\n", KDB_TSK(cpu));
> kdb_parse(buf);
> return 0;
> }
> kdb_printf("btc: cpu status: ");
> kdb_parse("cpu\n");
> for_each_online_cpu(cpu) {
> - sprintf(buf, "btt 0x%p\n", KDB_TSK(cpu));
> + sprintf(buf, "btt 0x%px\n", KDB_TSK(cpu));
> kdb_parse(buf);
> touch_nmi_watchdog();
> }
> --
> 2.19.1.568.g152ad8e336-goog
>
Hi,
On Wed, Oct 31, 2018 at 4:59 AM Daniel Thompson
<[email protected]> wrote:
>
> On Tue, Oct 30, 2018 at 01:53:34PM -0700, Douglas Anderson wrote:
> > Typing 'btc' on kdb doing all sorts of fail. Sometimes it would
> > crash, sometimes display nothing, and sometimes hang.
> >
> > Bisect tracked this down to the commit ad67b74d2469 ("printk: hash
> > addresses printed with %p"), suggesting an obvious fix. The pointer
> > used internally in kdb shouldn't be hashed, so switch it to %px.
> >
> > Fixes: ad67b74d2469 ("printk: hash addresses printed with %p")
> > Cc: [email protected]
> > Signed-off-by: Douglas Anderson <[email protected]>
>
> I think we've already got a fix for this:
> https://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git/commit/?h=kgdb-next&id=a0ca72c2d1ac83d0853a23ffde8f3624648b1ee8
Ah ha. Nice! Sorry for not noticing this. The newest I tested was 4.19.
-Doug