• Alan Stern's avatar
    USB: usbmon: fix bug in mon_buff_area_shrink · fca94748
    Alan Stern authored
    This patch (as1299b) fixes a bug in an error-handling path of usbmon's
    binary interface.  The storage area for URB data is divided into
    fixed-size blocks.  If an URB's data can't be copied, the area
    reserved for it should be decreased to the size of the truncated
    information (rounded up to a block boundary).  Rounding up the amount
    to be removed and subtracting it from the reserved size is definitely
    the wrong thing to do.
    
    Also, when the data for an isochronous URB can't be copied, we can
    still copy the isoc packet descriptors.  In fact the current code does
    copy the descriptors, but then sets the capture length to 0 so they
    remain inaccessible.  The capture length should be reduced to the
    length of the descriptors, not set to 0.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Acked-by: default avatarPete Zaitcev <zaitcev@redhat.com>
    CC: stable <stable@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    fca94748
mon_bin.c 31.4 KB