Re: [PATCHv8 00/11] Linear Address Masking enabling

From: Dave Hansen
Date: Mon Sep 12 2022 - 17:41:58 EST


On 9/12/22 13:39, Jacob Pan wrote:
>>> + if (pasid_valid(mm->pasid) && !forced) {
> I don't think this works since we have lazy pasid free. for example,
> after all the devices did sva_unbind, mm->pasid we'll remain valid until
> mmdrop(). LAM should be supported in this case.

Nah, it works fine.

It just means that the rules are "you can't do LAM if your process
*EVER* got a PASID" instead of "you can't do LAM if you are actively
using your PASID".

We knew that PASID use would be a one-way trip for a process when we
moved to the simplified implementation. This is just more fallout from
that. It's fine.

> Perhaps, we could introduce another prctl flag for SVA, PR_GET_SVA?
> Both iommu driver and LAM can set/query the flag. LAM applications may not
> be the only ones want to know if share virtual addressing is on.

I don't think it's a good idea to add yet more UABI around this issue.
Won't the IOMMU folks eventually get their hardware in line with LAM?
Isn't this situation temporary?