Re: [PATCH] usbip: Fix the error limitation on max_hw_sectors for usbip device

From: Shuah Khan
Date: Fri Mar 28 2025 - 17:14:44 EST


On 3/13/25 04:02, Zongmin Zhou wrote:

On 2025/3/11 00:49, Shuah Khan wrote:
On 3/5/25 03:03, Zongmin Zhou wrote:
At 2025-03-05 03:45:28, "Shuah Khan" <skhan@xxxxxxxxxxxxxxxxxxx> wrote:

On 3/2/25 05:37, Zongmin Zhou wrote:
Dear shuah,


Yes, I agree with you.It would be better if there have a more simpler fixes than This patch.

I can just think of the two possible solutions that mentioned before.

 >What are the two possible solutions?
1. The patch we are discussing now,have to change the API between the kernel and user-space.

2. Simply set vhci-hcd dma mask to 64 by default,just modify the vhci-hcd driver. Then dma_max_mapping_size() will always return SIZE_MAX.

I prefer option #2 - What are the downsides if any with this option?

If set vhci-hcd dma mask to 64 by default,I can't predict what will happen when the real USB controller support less than 64bit?

After all, the data flows from vhci-hcd to usbip-host and finally to the USB controller to which the device is actually connected.

the data is ultimately processed through the real USB controller?

Sorry for the delay.

That is the case. I have to check the code to see what the host
would do if it receives larger buffers from the client (vhci)

However, the default setting to 64-bit is equivalent to eliminating the impact of

the patch(commit d74ffae8b8dd) on usbip protocol devices, sounds feasible?

I am not very professional in this field, waiting for your evaluation.

We can give this a try. Send me the patch with default testing the
following cases:

Host - swiotlb enabled and disabled in your environment to see what
happens when there is a mismatch swiotlb enabled case and client
side doesn't limit the size.

thanks,
-- Shuah