Merge tag 'usb-mtu3.2026.10.06a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu

Pull tracing fix from Paul McKenney:
 "Fix a double-dereference splat in TP_printk in usb mtu3. This was a
  pre-existing bug that can corrupt tracing output, but which was
  exposed this cycle by additional checking that was added to the
  tracing subsystem.

  This splat is reporting a double-dereference that can result in
  garbage traces being dumped due to the possibility of the TP_printk()
  being executed without the benefit of main memory being present.

  The fix is to move the extra dereference from TP_printk() time to
  TP_fast_assign() time"

* tag 'usb-mtu3.2026.10.06a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
  usb: mtu3: Fix double dereference in TP_printk
This commit is contained in:
Linus Torvalds committed 2026-10-08 06:36:57 +02:00
commit 8fc6e59488
1 file changed
+3 -1
+3 -1
View File
@@ -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 = mep->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',