* Re: [PATCH] USB: mtu3: tracing: fix pointers dereferencing
2026-08-04 10:05 ` [PATCH] USB: mtu3: tracing: fix pointers dereferencing Marek Szyprowski
@ 2026-09-03 14:14 ` Sebastian Andrzej Siewior
2026-09-03 14:22 ` Steven Rostedt
1 sibling, 0 replies; 3+ messages in thread
From: Sebastian Andrzej Siewior @ 2026-09-03 14:14 UTC (permalink / raw)
To: Marek Szyprowski, Greg Kroah-Hartman
Cc: linux-usb, linux-arm-kernel, linux-mediatek, linux-kernel,
Chunfeng Yun, Steven Rostedt
On 2026-08-04 12:05:30 [+0200], Marek Szyprowski wrote:
> Commit b5cc230af5e5 ("tracing: Warn when an event dereferences a pointer
> in TP_printk()") added a warning then printing an event dereferences
> a pointer, because it might be already freed that time.
>
> MTU3 driver is one of the drivers triggering this warning. Fix it by
> storing also the DMA address in the event structure to avoid
> dereferencing gpd_ring pointer during event printing.
>
> Fixes: 83374e035b62 ("usb: mtu3: add tracepoints to help debug")
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Just run into this, made the same fix :)
Sebastian
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] USB: mtu3: tracing: fix pointers dereferencing
2026-08-04 10:05 ` [PATCH] USB: mtu3: tracing: fix pointers dereferencing Marek Szyprowski
2026-09-03 14:14 ` Sebastian Andrzej Siewior
@ 2026-09-03 14:22 ` Steven Rostedt
1 sibling, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2026-09-03 14:22 UTC (permalink / raw)
To: Marek Szyprowski
Cc: linux-usb, linux-arm-kernel, linux-mediatek, linux-kernel,
Chunfeng Yun, Greg Kroah-Hartman
On Tue, 4 Aug 2026 12:05:30 +0200
Marek Szyprowski <m.szyprowski@samsung.com> wrote:
> Commit b5cc230af5e5 ("tracing: Warn when an event dereferences a pointer
> in TP_printk()") added a warning then printing an event dereferences
s/then/when/
> a pointer, because it might be already freed that time.
freed at that time
>
> MTU3 driver is one of the drivers triggering this warning. Fix it by
> storing also the DMA address in the event structure to avoid
s/also//
> dereferencing gpd_ring pointer during event printing.
>
> Fixes: 83374e035b62 ("usb: mtu3: add tracepoints to help debug")
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
> drivers/usb/mtu3/mtu3_trace.h | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/mtu3/mtu3_trace.h b/drivers/usb/mtu3/mtu3_trace.h
> index 89870175d635..b24c6411a8cf 100644
> --- a/drivers/usb/mtu3/mtu3_trace.h
> +++ b/drivers/usb/mtu3/mtu3_trace.h
> @@ -224,6 +224,7 @@ DECLARE_EVENT_CLASS(mtu3_log_ep,
> __field(unsigned int, flags)
> __field(unsigned int, direction)
> __field(struct mtu3_gpd_ring *, gpd_ring)
> + __field(dma_addr_t, gpd_ring_dma)
> ),
> TP_fast_assign(
> __assign_str(name);
> @@ -235,12 +236,13 @@ DECLARE_EVENT_CLASS(mtu3_log_ep,
> __entry->flags = mep->flags;
> __entry->direction = mep->is_in;
> __entry->gpd_ring = &mep->gpd_ring;
> + __entry->gpd_ring_dma = __entry->gpd_ring->dma;
> ),
> TP_printk("%s: type %s maxp %d slot %d mult %d burst %d ring %p/%pad flags %c:%c%c%c:%c",
> __get_str(name), usb_ep_type_string(__entry->type),
> __entry->maxp, __entry->slot,
> __entry->mult, __entry->maxburst,
> - __entry->gpd_ring, &__entry->gpd_ring->dma,
> + __entry->gpd_ring, &__entry->gpd_ring_dma,
> __entry->flags & MTU3_EP_ENABLED ? 'E' : 'e',
> __entry->flags & MTU3_EP_STALL ? 'S' : 's',
> __entry->flags & MTU3_EP_WEDGE ? 'W' : 'w',
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Thanks for fixing this!
-- Steve
^ permalink raw reply [flat|nested] 3+ messages in thread