From: Shuah Khan <skhan@linuxfoundation.org>
To: Cheng Yongkang <teel4res@gmail.com>
Cc: Valentina Manea <valentina.manea.m@gmail.com>,
Shuah Khan <shuah@kernel.org>, Hongren Zheng <i@zenithal.me>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
Shuah Khan <skhan@linuxfoundation.org>
Subject: Re: [PATCH 1/2] usbip: clear actual_length after a failed receive
Date: Tue, 10 Nov 2026 11:57:34 -0700 [thread overview]
Message-ID: <3648026e-e93b-4543-87db-e56020770831@linuxfoundation.org> (raw)
In-Reply-To: <179333358668.2111112.12827497703998022783@gmail.com>
On 10/29/26 22:13, Cheng Yongkang wrote:
> Hi Shuah,
>
> Without this change the URB is still completed to usbfs, with status
> -EPROTO but with the peer-supplied actual_length intact:
> > vhci_recv_ret_submit()
> usbip_pack_pdu() -> usbip_pack_ret_submit():
> urb->actual_length = rpdu->actual_length; (usbip_common.c:471)
> usbip_recv_xbuff():
> size = urb->actual_length; (usbip_common.c:849)
> if (size > urb->transfer_buffer_length) (usbip_common.c:856)
> goto error; /* rejects the packet, returns < 0 */
> urb->status = -EPROTO; goto error;
> error:
> usb_hcd_giveback_urb(hcd, urb, urb->status); (vhci_rx.c:107)
> -> urb->complete(urb) (hcd.c:1657)
> -> usbfs async_completed() (devio.c:1911)
>
> usbfs copies data on reap whenever actual_length is non-zero, and does
> not look at the URB status:
It sounds like fixing usbfs to check the URB status before copying
sounds like the right fix.
Changing vhci to zero out a filed in an URB that it received, itsn't
something we want to do. Why not fix this in usbfs and that would work
for other invalid lengths?
thanks,
-- Shuah
next prev parent reply other threads:[~2026-11-10 18:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-29 14:12 [PATCH 0/2] usb: fix over-reported actual_length in usbip/usbfs Cheng Yongkang
2026-10-29 14:12 ` [PATCH 2/2] usb: usbfs: clamp the copied length to transfer_buffer_length Cheng Yongkang
2026-10-29 14:46 ` sashiko-bot
2026-10-29 14:12 ` [PATCH 1/2] usbip: clear actual_length after a failed receive Cheng Yongkang
2026-10-29 14:32 ` sashiko-bot
2026-10-29 18:42 ` Shuah Khan
2026-10-30 4:13 ` Cheng Yongkang
2026-11-01 7:18 ` Cheng Yongkang
2026-11-10 18:57 ` Shuah Khan [this message]
2026-11-10 21:29 ` Alan Stern
2026-11-11 15:56 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3648026e-e93b-4543-87db-e56020770831@linuxfoundation.org \
--to=skhan@linuxfoundation.org \
--cc=gregkh@linuxfoundation.org \
--cc=i@zenithal.me \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=shuah@kernel.org \
--cc=teel4res@gmail.com \
--cc=valentina.manea.m@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.