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-prev] [day] [month] [year] [list]
Date:   Thu, 20 Oct 2016 08:45:18 +0900
From:   Magnus Damm <magnus.damm@...il.com>
To:     Joerg Roedel <joro@...tes.org>
Cc:     iommu@...ts.linux-foundation.org,
        Laurent Pinchart <laurent.pinchart+renesas@...asonboard.com>,
        Geert Uytterhoeven <geert+renesas@...der.be>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
        Simon Horman <horms+renesas@...ge.net.au>,
        Robin Murphy <robin.murphy@....com>,
        Marek Szyprowski <m.szyprowski@...sung.com>
Subject: Re: [PATCH v5 05/07] iommu/ipmmu-vmsa: Add new IOMMU_DOMAIN_DMA ops

Hi Joerg,

On Thu, Sep 22, 2016 at 11:45 PM, Joerg Roedel <joro@...tes.org> wrote:
> On Tue, Sep 20, 2016 at 10:44:46PM +0900, Magnus Damm wrote:
>> +#ifdef CONFIG_IOMMU_DMA
>> +
>> +static struct iommu_domain *ipmmu_domain_alloc_dma(unsigned type)
>> +{
>> +     struct iommu_domain *io_domain;
>> +
>> +     if (type != IOMMU_DOMAIN_DMA)
>> +             return NULL;
>> +
>> +     io_domain = __ipmmu_domain_alloc(type);
>> +     if (io_domain)
>> +             iommu_get_dma_cookie(io_domain);
>> +
>> +     return io_domain;
>> +}
>> +
>> +static void ipmmu_domain_free_dma(struct iommu_domain *io_domain)
>> +{
>> +     iommu_put_dma_cookie(io_domain);
>> +     ipmmu_domain_free(io_domain);
>> +}
>
>> [...]
>
>> +static const struct iommu_ops ipmmu_ops = {
>> +     .domain_alloc = ipmmu_domain_alloc_dma,
>> +     .domain_free = ipmmu_domain_free_dma,
>
> Okay, so when CONFIG_IOMMU_DMA is enabled, you only support allocation
> of DMA domains, not UNMANAGED domains anymore. Is there a reason for
> that?

Just historical reason migrating from UNMANAGED only to DMA only.

> You can reduce the #ifdef'ed coded by supporting both types of domains
> and call into allocation-subfunctions for DMA and UNMANAGED domains. The
> #ifdef could then only let the dma-allocation function return NULL.
>
> This would be much more compatible to what other IOMMU drivers do and
> will allow VFIO usage in the future.

Thanks for your suggestion. I've now updated the code in V6, hopefully
it would match your expectation better.

Cheers,

/ magnus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ