linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Will Deacon <will@kernel.org>
To: "Petr Tesařík" <petr@tesarici.cz>
Cc: linux-kernel@vger.kernel.org, kernel-team@android.com,
	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: Re: [PATCH 0/2] Fix double allocation in swiotlb_alloc()
Date: Mon, 29 Jan 2024 18:42:55 +0000	[thread overview]
Message-ID: <20240129184255.GA12631@willie-the-truck> (raw)
In-Reply-To: <20240126172059.48ad7b9f@meshulam.tesarici.cz>

On Fri, Jan 26, 2024 at 05:20:59PM +0100, Petr Tesařík wrote:
> On Fri, 26 Jan 2024 15:19:54 +0000
> Will Deacon <will@kernel.org> wrote:
> 
> > Hi folks,
> > 
> > These two patches fix a nasty double allocation problem in swiotlb_alloc()
> > and add a diagnostic to help catch any similar issues in future. This was
> > a royal pain to track down and I've had to make a bit of a leap at the
> > correct alignment semantics (i.e. iotlb_align_mask vs alloc_align_mask).
> 
> Welcome to the club. I believe you had to re-discover what I described here:
> 
>   https://lore.kernel.org/linux-iommu/20231108101347.77cab795@meshulam.tesarici.cz/

Lucky me...

> The relevant part would be this:
> 
>   To sum it up, there are two types of alignment:
> 
>   1. specified by a device's min_align_mask; this says how many low
>      bits of a buffer's physical address must be preserved,
> 
>   2. specified by allocation size and/or the alignment parameter;
>      this says how many low bits in the first IO TLB slot's physical
>      address must be zero.  
> 
> Fix for that has been sitting on my TODO list for too long. :-(

FWIW, it did _used_ to work (or appear to work), so it would be good to
at least get it back to the old behaviour if nothing else.

Anyway, cheers for reviewing the patches. I'll go through your comments
now...

Will

  reply	other threads:[~2024-01-29 18:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-26 15:19 [PATCH 0/2] Fix double allocation in swiotlb_alloc() Will Deacon
2024-01-26 15:19 ` [PATCH 1/2] swiotlb: Fix allocation alignment requirement when searching slots Will Deacon
2024-01-26 17:01   ` Petr Tesařík
2024-01-29 19:32     ` Will Deacon
2024-01-29 20:40       ` Petr Tesařík
2024-01-29 22:05         ` Will Deacon
2024-01-26 15:19 ` [PATCH 2/2] swiotlb: Enforce page alignment in swiotlb_alloc() Will Deacon
2024-01-26 16:23   ` Petr Tesařík
2024-01-29 19:35     ` Will Deacon
2024-01-29  6:08   ` Christoph Hellwig
2024-01-29  7:43     ` Petr Tesařík
2024-01-29  7:50       ` Christoph Hellwig
2024-01-29 19:49     ` Will Deacon
2024-01-30 14:34       ` Christoph Hellwig
2024-01-26 16:20 ` [PATCH 0/2] Fix double allocation " Petr Tesařík
2024-01-29 18:42   ` Will Deacon [this message]
2024-01-29 19:26     ` Petr Tesařík
2024-01-29 19:33       ` 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=20240129184255.GA12631@willie-the-truck \
    --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=petr@tesarici.cz \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).