mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-28 12:53:14 +01:00
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:
commit
8fc6e59488
1 file changed
+3
-1
@@ -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',
|
||||
|
||||
Reference in new issue
Block a user