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] [thread-next>] [day] [month] [year] [list]
Message-ID: <932aebd3-c655-3266-1acb-e41e8cbfb771@intel.com>
Date:   Tue, 7 Mar 2023 09:55:28 -0800
From:   Fenghua Yu <fenghua.yu@...el.com>
To:     Baolu Lu <baolu.lu@...ux.intel.com>, Vinod Koul <vkoul@...nel.org>,
        "Dave Jiang" <dave.jiang@...el.com>
CC:     <dmaengine@...r.kernel.org>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        Alistair Popple <apopple@...dia.com>,
        Joerg Roedel <joro@...tes.org>,
        "Will Deacon" <will@...nel.org>,
        Robin Murphy <robin.murphy@....com>,
        "Lorenzo Stoakes" <lstoakes@...il.com>,
        Christoph Hellwig <hch@...radead.org>, <iommu@...ts.linux.dev>
Subject: Re: [PATCH v2 08/16] iommu: define and export
 iommu_access_remote_vm()

Hi, Baolu,

On 3/6/23 17:41, Baolu Lu wrote:
> On 3/7/23 12:31 AM, Fenghua Yu wrote:
>> Define and export iommu_access_remote_vm() to allow IOMMU related
>> drivers to access user address space by PASID.
>>
>> The IDXD driver would like to use it to write the user's completion
>> record that the hardware device is not able to write to due to user
>> page fault.
> 
> I don't quite follow here. Isn't I/O page fault already supported?

The following patch 9 in this series explains in details why IDXD device 
cannot use page fault to write to user memory: 
https://lore.kernel.org/dmaengine/20230306163138.587484-10-fenghua.yu@intel.com/

"DSA supports page fault handling through PRS. However, the DMA engine
that's processing the descriptor is blocked until the PRS response is
received. Other workqueues sharing the engine are also blocked.
Page fault handing by the driver with PRS disabled can be used to
mitigate the stalling.

With PRS disabled while ATS remain enabled, DSA handles page faults on
a completion record by reporting an event in the event log. In this
instance, the descriptor is completed and the event log contains the
completion record address and the contents of the completion record."

That's why IDXD driver needs this IOMMU's helper 
iommu_access_remote_vm() to copy the completion record from event log 
buffer to user space.

Thanks.

-Fenghua

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ