All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will Deacon <will@kernel.org>
To: linux-kernel@vger.kernel.org
Cc: kernel-team@android.com, Will Deacon <will@kernel.org>,
	iommu@lists.linux.dev, Christoph Hellwig <hch@lst.de>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Petr Tesarik <petr.tesarik1@huawei-partners.com>,
	Dexuan Cui <decui@microsoft.com>
Subject: [PATCH v2 0/3] Fix double allocation in swiotlb_alloc()
Date: Wed, 31 Jan 2024 12:25:40 +0000	[thread overview]
Message-ID: <20240131122543.14791-1-will@kernel.org> (raw)

Hi all,

This is version two of the patches I posted last week:

https://lore.kernel.org/r/20240126151956.10014-1-will@kernel.org

Many thanks to Petr and Christoph for the discussion on that.

Changes since v1 include:

  - Fix swiotlb_alloc() to honour the alignment requirements of
    dma_alloc_coherent(). This is a new patch, and I think it's been
    broken forever (practically stopping at page alignment). I've left
    swiotlb_map() alone, so that doesn't necessarily return page-aligned
    DMA addresses, but I think that's ok.

  - Avoid updating 'alloc_align_mask' and instead just compute the
    'stride' directly to avoid a superfluous alignment requirement
    for mapping requests greater than a page.

  - Use get_max_slots() instead of open-coding the same logic.

  - Remove the extra 'goto' in swiotlb_search_pool_area() and collapse
    the conditionals instead.

  - Reword warning message when swiotlb_alloc() receives non page-aligned
    allocation.

  - Annotate non page-aligned case with unlikely().

Cheers,

Will

Cc: iommu@lists.linux.dev
Cc: Christoph Hellwig <hch@lst.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Petr Tesarik <petr.tesarik1@huawei-partners.com>
Cc: Dexuan Cui <decui@microsoft.com>

--->8

Will Deacon (3):
  swiotlb: Fix allocation alignment requirement when searching slots
  swiotlb: Enforce page alignment in swiotlb_alloc()
  swiotlb: Honour dma_alloc_coherent() alignment in swiotlb_alloc()

 kernel/dma/swiotlb.c | 39 ++++++++++++++++++++++++---------------
 1 file changed, 24 insertions(+), 15 deletions(-)

-- 
2.43.0.429.g432eaa2c6b-goog


             reply	other threads:[~2024-01-31 12:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-31 12:25 Will Deacon [this message]
2024-01-31 12:25 ` [PATCH v2 1/3] swiotlb: Fix allocation alignment requirement when searching slots Will Deacon
2024-01-31 15:54   ` Robin Murphy
2024-02-01 12:46     ` Will Deacon
2024-02-01 13:30       ` Robin Murphy
2024-02-01 14:12         ` Will Deacon
2024-01-31 17:45   ` Will Deacon
2024-01-31 12:25 ` [PATCH v2 2/3] swiotlb: Enforce page alignment in swiotlb_alloc() Will Deacon
2024-01-31 15:14   ` Robin Murphy
2024-02-01 12:48     ` Will Deacon
2024-02-01 13:53       ` Robin Murphy
2024-01-31 12:25 ` [PATCH v2 3/3] swiotlb: Honour dma_alloc_coherent() " Will Deacon
2024-01-31 16:03   ` Robin Murphy
2024-02-01 12:52     ` Will Deacon

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=20240131122543.14791-1-will@kernel.org \
    --to=will@kernel.org \
    --cc=decui@microsoft.com \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux.dev \
    --cc=kernel-team@android.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=petr.tesarik1@huawei-partners.com \
    --cc=robin.murphy@arm.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.