All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathias Nyman <mathias.nyman@linux.intel.com>
To: Michal Pecio <michal.pecio@gmail.com>,
	co <co+fd80bc5967eb22c3@bugs.sh>,
	Mathias Nyman <mathias.nyman@intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] usb: xhci: Fix bounce buffer overflow
Date: Wed, 2 Sep 2026 16:39:14 +0300	[thread overview]
Message-ID: <5f539374-ef55-4400-89b0-f826bdf692d7@linux.intel.com> (raw)
In-Reply-To: <20260902132458.5de2f031.michal.pecio@gmail.com>

On 9/2/26 14:24, Michal Pecio wrote:
> High-speed devices with out of spec 1024 byte bulk endpoints exist and
> are allowed by USB core, but xhci-hcd always sets packet size to 512.
> The exact nature of these devices isn't documented, commit fb5ee84ea72c
> ("USB: Accept bulk endpoints with 1024-byte maxpacket") only states
> that they "don't work with xHCI host controllers", whatever it means.
> 
> But somebody (or a malicious device) can try, and then the driver will
> allocate a 512 byte bounce buffer for this endpoint and may write up to
> 1024 bytes into it if particular scatter-gather URBs are used, because
> xhci_align_td() obtains packet size from the descriptor. Fix this.
> 
> As a side effect, TRBs will be aligned to the packet size chosen by the
> driver on all endpoints of all speeds. Alignment serves the xHC, not
> device, so this is fine. Only out of spec devices are affected anyway.
> 
> Reported-by: co+fd80bc5967eb22c3@bugs.sh
> Link: https://lore.kernel.org/linux-usb/D4tcSGerkYkIV1DmaUo1t8TaR5qQElDLkidn@bugs.sh/
> Fixes: f9c589e142d0 ("xhci: TD-fragment, align the unsplittable case with a bounce buffer")
> Cc: stable@vger.kernel.org
> Signed-off-by: Michal Pecio <michal.pecio@gmail.com>

Thanks, added to queue

-Mathias


      reply	other threads:[~2026-09-02 13:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-27 12:43 [BUG] drivers/usb: out-of-bounds in xhci_queue_bulk_tx() co
2026-08-27 12:50 ` Greg Kroah-Hartman
2026-08-27 17:31   ` Xiang Mei
2026-08-28  2:00     ` CO
2026-08-28  5:36       ` Greg KH
2026-08-29  6:07         ` CO
2026-08-29  6:18           ` Greg KH
2026-08-29  6:42             ` Cedalion
2026-08-29  6:59               ` Greg KH
2026-08-29  7:34                 ` CO
2026-08-29  7:54                   ` Greg KH
2026-09-01 12:23                     ` CO
2026-09-01 13:39                       ` Greg KH
2026-08-27 22:47 ` Michal Pecio
2026-09-02 11:24   ` [PATCH] usb: xhci: Fix bounce buffer overflow Michal Pecio
2026-09-02 13:39     ` Mathias Nyman [this message]

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=5f539374-ef55-4400-89b0-f826bdf692d7@linux.intel.com \
    --to=mathias.nyman@linux.intel.com \
    --cc=co+fd80bc5967eb22c3@bugs.sh \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=michal.pecio@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.