Applied to for-usb-next for 3.14. Thanks, Sarah Sharp On Mon, Sep 09, 2013 at 09:03:11PM +0300, Xenia Ragiadakou wrote: > This patch fixes the retrieval of the DMA address of the TRB that generated > the event by converting the field[0] (low address bits) and field[1] (high > address bits) to CPU byteorder and then typecasting field[1] to u64 so that > the bitshift will not lead to overflow. > In the original code, the typecasting of le32 to u64 was incorrect and the > subsequent conversion to le64 reverts the low and high address parts. > This bug was found using sparse. > > Signed-off-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> > --- > drivers/usb/host/xhci-trace.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/xhci-trace.h b/drivers/usb/host/xhci-trace.h > index c156685..59a0b03 100644 > --- a/drivers/usb/host/xhci-trace.h > +++ b/drivers/usb/host/xhci-trace.h > @@ -125,8 +125,8 @@ DECLARE_EVENT_CLASS(xhci_log_event, > ), > TP_fast_assign( > __entry->va = trb_va; > - __entry->dma = le64_to_cpu(((u64)ev->field[1]) << 32 | > - ev->field[0]); > + __entry->dma = ((u64)le32_to_cpu(ev->field[1])) << 32 | > + le32_to_cpu(ev->field[0]); > __entry->status = le32_to_cpu(ev->field[2]); > __entry->flags = le32_to_cpu(ev->field[3]); > memcpy(__get_dynamic_array(trb), trb_va, > -- > 1.8.3.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html