lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240131122543.14791-1-will@kernel.org>
Date: Wed, 31 Jan 2024 12:25:40 +0000
From: Will Deacon <will@...nel.org>
To: linux-kernel@...r.kernel.org
Cc: kernel-team@...roid.com,
	Will Deacon <will@...nel.org>,
	iommu@...ts.linux.dev,
	Christoph Hellwig <hch@....de>,
	Marek Szyprowski <m.szyprowski@...sung.com>,
	Robin Murphy <robin.murphy@....com>,
	Petr Tesarik <petr.tesarik1@...wei-partners.com>,
	Dexuan Cui <decui@...rosoft.com>
Subject: [PATCH v2 0/3] Fix double allocation in swiotlb_alloc()

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@...ts.linux.dev
Cc: Christoph Hellwig <hch@....de>
Cc: Marek Szyprowski <m.szyprowski@...sung.com>
Cc: Robin Murphy <robin.murphy@....com>
Cc: Petr Tesarik <petr.tesarik1@...wei-partners.com>
Cc: Dexuan Cui <decui@...rosoft.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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ