drivers/usb/gadget/legacy/raw_gadget.c | 2 -- 1 file changed, 2 deletions(-)
From: Andrey Konovalov <andreyknvl@gmail.com>
Drop the check on the maximum transfer length in Raw Gadget for both
control and non-control transfers.
Limiting the transfer length causes a problem with emulating USB devices
whose full configuration descriptor exceeds PAGE_SIZE in length.
Overall, there does not appear to be any reason to enforce any kind of
transfer length limit on the Raw Gadget side for either control or
non-control transfers, so let's just drop the related check.
Cc: stable@vger.kernel.org
Fixes: f2c2e717642c ("usb: gadget: add raw-gadget interface")
Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>
---
drivers/usb/gadget/legacy/raw_gadget.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/usb/gadget/legacy/raw_gadget.c b/drivers/usb/gadget/legacy/raw_gadget.c
index 20165e1582d9..b71680c58de6 100644
--- a/drivers/usb/gadget/legacy/raw_gadget.c
+++ b/drivers/usb/gadget/legacy/raw_gadget.c
@@ -667,8 +667,6 @@ static void *raw_alloc_io_data(struct usb_raw_ep_io *io, void __user *ptr,
return ERR_PTR(-EINVAL);
if (!usb_raw_io_flags_valid(io->flags))
return ERR_PTR(-EINVAL);
- if (io->length > PAGE_SIZE)
- return ERR_PTR(-EINVAL);
if (get_from_user)
data = memdup_user(ptr + sizeof(*io), io->length);
else {
--
2.43.0
On Thu, Sep 4, 2025 at 10:08 PM <andrey.konovalov@linux.dev> wrote:
>
> From: Andrey Konovalov <andreyknvl@gmail.com>
>
> Drop the check on the maximum transfer length in Raw Gadget for both
> control and non-control transfers.
>
> Limiting the transfer length causes a problem with emulating USB devices
> whose full configuration descriptor exceeds PAGE_SIZE in length.
>
> Overall, there does not appear to be any reason to enforce any kind of
> transfer length limit on the Raw Gadget side for either control or
> non-control transfers, so let's just drop the related check.
>
> Cc: stable@vger.kernel.org
> Fixes: f2c2e717642c ("usb: gadget: add raw-gadget interface")
> Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>
> ---
> drivers/usb/gadget/legacy/raw_gadget.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/usb/gadget/legacy/raw_gadget.c b/drivers/usb/gadget/legacy/raw_gadget.c
> index 20165e1582d9..b71680c58de6 100644
> --- a/drivers/usb/gadget/legacy/raw_gadget.c
> +++ b/drivers/usb/gadget/legacy/raw_gadget.c
> @@ -667,8 +667,6 @@ static void *raw_alloc_io_data(struct usb_raw_ep_io *io, void __user *ptr,
> return ERR_PTR(-EINVAL);
> if (!usb_raw_io_flags_valid(io->flags))
> return ERR_PTR(-EINVAL);
> - if (io->length > PAGE_SIZE)
> - return ERR_PTR(-EINVAL);
> if (get_from_user)
> data = memdup_user(ptr + sizeof(*io), io->length);
> else {
> --
> 2.43.0
>
Hi Greg,
Could you pick up this patch?
Thank you!
On Tue, Oct 21, 2025 at 4:18 PM Andrey Konovalov <andreyknvl@gmail.com> wrote:
>
> On Thu, Sep 4, 2025 at 10:08 PM <andrey.konovalov@linux.dev> wrote:
> >
> > From: Andrey Konovalov <andreyknvl@gmail.com>
> >
> > Drop the check on the maximum transfer length in Raw Gadget for both
> > control and non-control transfers.
> >
> > Limiting the transfer length causes a problem with emulating USB devices
> > whose full configuration descriptor exceeds PAGE_SIZE in length.
> >
> > Overall, there does not appear to be any reason to enforce any kind of
> > transfer length limit on the Raw Gadget side for either control or
> > non-control transfers, so let's just drop the related check.
> >
> > Cc: stable@vger.kernel.org
> > Fixes: f2c2e717642c ("usb: gadget: add raw-gadget interface")
> > Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>
> > ---
> > drivers/usb/gadget/legacy/raw_gadget.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/usb/gadget/legacy/raw_gadget.c b/drivers/usb/gadget/legacy/raw_gadget.c
> > index 20165e1582d9..b71680c58de6 100644
> > --- a/drivers/usb/gadget/legacy/raw_gadget.c
> > +++ b/drivers/usb/gadget/legacy/raw_gadget.c
> > @@ -667,8 +667,6 @@ static void *raw_alloc_io_data(struct usb_raw_ep_io *io, void __user *ptr,
> > return ERR_PTR(-EINVAL);
> > if (!usb_raw_io_flags_valid(io->flags))
> > return ERR_PTR(-EINVAL);
> > - if (io->length > PAGE_SIZE)
> > - return ERR_PTR(-EINVAL);
> > if (get_from_user)
> > data = memdup_user(ptr + sizeof(*io), io->length);
> > else {
> > --
> > 2.43.0
> >
>
> Hi Greg,
>
> Could you pick up this patch?
>
> Thank you!
(Greg to To:)
On Tue, Oct 21, 2025 at 04:19:13PM +0200, Andrey Konovalov wrote:
> On Tue, Oct 21, 2025 at 4:18 PM Andrey Konovalov <andreyknvl@gmail.com> wrote:
> >
> > On Thu, Sep 4, 2025 at 10:08 PM <andrey.konovalov@linux.dev> wrote:
> > >
> > > From: Andrey Konovalov <andreyknvl@gmail.com>
> > >
> > > Drop the check on the maximum transfer length in Raw Gadget for both
> > > control and non-control transfers.
> > >
> > > Limiting the transfer length causes a problem with emulating USB devices
> > > whose full configuration descriptor exceeds PAGE_SIZE in length.
> > >
> > > Overall, there does not appear to be any reason to enforce any kind of
> > > transfer length limit on the Raw Gadget side for either control or
> > > non-control transfers, so let's just drop the related check.
> > >
> > > Cc: stable@vger.kernel.org
> > > Fixes: f2c2e717642c ("usb: gadget: add raw-gadget interface")
> > > Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>
> > > ---
> > > drivers/usb/gadget/legacy/raw_gadget.c | 2 --
> > > 1 file changed, 2 deletions(-)
> > >
> > > diff --git a/drivers/usb/gadget/legacy/raw_gadget.c b/drivers/usb/gadget/legacy/raw_gadget.c
> > > index 20165e1582d9..b71680c58de6 100644
> > > --- a/drivers/usb/gadget/legacy/raw_gadget.c
> > > +++ b/drivers/usb/gadget/legacy/raw_gadget.c
> > > @@ -667,8 +667,6 @@ static void *raw_alloc_io_data(struct usb_raw_ep_io *io, void __user *ptr,
> > > return ERR_PTR(-EINVAL);
> > > if (!usb_raw_io_flags_valid(io->flags))
> > > return ERR_PTR(-EINVAL);
> > > - if (io->length > PAGE_SIZE)
> > > - return ERR_PTR(-EINVAL);
> > > if (get_from_user)
> > > data = memdup_user(ptr + sizeof(*io), io->length);
> > > else {
> > > --
> > > 2.43.0
> > >
> >
> > Hi Greg,
> >
> > Could you pick up this patch?
> >
> > Thank you!
>
> (Greg to To:)
Can you send it to the proper list again? I didn't see it on the
linux-usb list as it was never sent there :(
thanks,
greg k-h
On Tue, Oct 21, 2025 at 6:06 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Tue, Oct 21, 2025 at 04:19:13PM +0200, Andrey Konovalov wrote:
> > On Tue, Oct 21, 2025 at 4:18 PM Andrey Konovalov <andreyknvl@gmail.com> wrote:
> > >
> > > On Thu, Sep 4, 2025 at 10:08 PM <andrey.konovalov@linux.dev> wrote:
> > > >
> > > > From: Andrey Konovalov <andreyknvl@gmail.com>
> > > >
> > > > Drop the check on the maximum transfer length in Raw Gadget for both
> > > > control and non-control transfers.
> > > >
> > > > Limiting the transfer length causes a problem with emulating USB devices
> > > > whose full configuration descriptor exceeds PAGE_SIZE in length.
> > > >
> > > > Overall, there does not appear to be any reason to enforce any kind of
> > > > transfer length limit on the Raw Gadget side for either control or
> > > > non-control transfers, so let's just drop the related check.
> > > >
> > > > Cc: stable@vger.kernel.org
> > > > Fixes: f2c2e717642c ("usb: gadget: add raw-gadget interface")
> > > > Signed-off-by: Andrey Konovalov <andreyknvl@gmail.com>
> > > > ---
> > > > drivers/usb/gadget/legacy/raw_gadget.c | 2 --
> > > > 1 file changed, 2 deletions(-)
> > > >
> > > > diff --git a/drivers/usb/gadget/legacy/raw_gadget.c b/drivers/usb/gadget/legacy/raw_gadget.c
> > > > index 20165e1582d9..b71680c58de6 100644
> > > > --- a/drivers/usb/gadget/legacy/raw_gadget.c
> > > > +++ b/drivers/usb/gadget/legacy/raw_gadget.c
> > > > @@ -667,8 +667,6 @@ static void *raw_alloc_io_data(struct usb_raw_ep_io *io, void __user *ptr,
> > > > return ERR_PTR(-EINVAL);
> > > > if (!usb_raw_io_flags_valid(io->flags))
> > > > return ERR_PTR(-EINVAL);
> > > > - if (io->length > PAGE_SIZE)
> > > > - return ERR_PTR(-EINVAL);
> > > > if (get_from_user)
> > > > data = memdup_user(ptr + sizeof(*io), io->length);
> > > > else {
> > > > --
> > > > 2.43.0
> > > >
> > >
> > > Hi Greg,
> > >
> > > Could you pick up this patch?
> > >
> > > Thank you!
> >
> > (Greg to To:)
>
> Can you send it to the proper list again? I didn't see it on the
> linux-usb list as it was never sent there :(
Sure, done!
© 2016 - 2026 Red Hat, Inc.