Re: TP_printk() bug with %c, and more?

From: Luca Ceresoli
Date: Mon Apr 15 2024 - 22:09:02 EST


Hello Steven,

On Mon, 15 Apr 2024 04:44:30 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Mon, 18 Mar 2024 16:43:07 +0100
> Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> wrote:
>
> > However the arrows are still reversed.
>
> This requires a kernel change. The problem is that the print fmt has:
>
> print fmt: "%c%s %s %s %s %s", (int) REC->path_node && (int) REC->path_connect ? '*' : ' ', __get_str(wname), (((REC->path_dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-"), __get_str(pname), (((REC->path_dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-"), __get_str(pnname)
>
> User space (trace-cmd and perf) have no idea what SND_SOC_DAPM_DIR_OUT
> is. The kernel needs to convert that, otherwise the parsing will fail,
> or it will default it to zero.

Thanks for the insight. I'm definitely trying to fix this based on your
hint as soon as I get my hand on a board.

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com