[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANqRtoQ+5K1_raVjNyexP+zB9FHmhLizxYCoi1rLC9F8FVw4SA@mail.gmail.com>
Date: Thu, 26 Jan 2017 19:17:00 +0900
From: Magnus Damm <magnus.damm@...il.com>
To: Geert Uytterhoeven <geert+renesas@...der.be>
Cc: Joerg Roedel <joro@...tes.org>,
Robin Murphy <robin.murphy@....com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
iommu@...ts.linux-foundation.org,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH/RFC] iommu/ipmmu-vmsa: Restrict IOMMU Domain Geometry to
32-bit address space
Hi Geert,
On Thu, Jan 26, 2017 at 6:53 PM, Geert Uytterhoeven
<geert+renesas@...der.be> wrote:
> Currently, the IPMMU/VMSA driver supports 32-bit I/O Virtual Addresses
> only, and thus sets io_pgtable_cfg.ias = 32. However, it doesn't force
> a 32-bit IOVA space through the IOMMU Domain Geometry.
>
> Hence if a device (e.g. SYS-DMAC) rightfully configures a 40-bit DMA
> mask, it will still be handed out a 40-bit IOVA, outside the 32-bit IOVA
> space, leading to out-of-bounds accesses of the PGD when mapping the
> IOVA.
>
> Force a 32-bit IOMMU Domain Geometry to fix this.
Nice, thanks!
> Signed-off-by: Geert Uytterhoeven <geert+renesas@...der.be>
> ---
> Should the generic code restrict the geometry based on IAS instead?
Might make sense. Since this is a software policy limited by hardware
it might be good to use as small IOVA space as possible to improve
performance. So selecting IOVA space based on slave device or domain
policy or something similar might be a good thing to do. Not sure how
to tie that into the IOMMU subsystem though...
Thanks!
/ magnus
Powered by blists - more mailing lists