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
next 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.