Re: [PATCH] [v2] tracing: use %ps format string to print symbols

From: Arnd Bergmann
Date: Tue Oct 19 2021 - 11:33:14 EST


On Mon, Oct 18, 2021 at 4:42 PM Tom Zanussi <zanussi@xxxxxxxxxx> wrote:
> On Mon, 2021-10-18 at 15:25 +0200, Arnd Bergmann wrote:

> This looks fine to me, thanks for the patch!
>
> Reviewed-by: Tom Zanussi <zanussi@xxxxxxxxxx>
> Tested-by: Tom Zanussi <zanussi@xxxxxxxxxx>

Thanks for testing!

> > - seq_printf(m, "%s: [%llx] %-45s", field_name,
> > - uval, str);
> > + seq_printf(m, "%s: [%llx] %-45ps", field_name,
> > + uval, (void *)uval);

This turns out to be still wrong on 32-bit, as 'uval' is a u64 and I
can't cast that to a pointer without a uintptr_t cast first.

I was testing randconfig builds with clang here, and for some reason
that didn't catch the bug, but I found it after going back to gcc testing.

Sending v3 now.

Arnd