From: Yi Liu <yi.l.liu@intel.com>
To: Vasant Hegde <vasant.hegde@amd.com>,
"Tian, Kevin" <kevin.tian@intel.com>,
Jason Gunthorpe <jgg@ziepe.ca>
Cc: Robin Murphy <robin.murphy@arm.com>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
"joro@8bytes.org" <joro@8bytes.org>,
"will@kernel.org" <will@kernel.org>,
"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>
Subject: Re: [PATCH] iommu/amd: Add Secure ATS support
Date: Sun, 2 Mar 2025 16:10:46 +0800 [thread overview]
Message-ID: <13e1e1d8-5870-44ea-a800-e5b25bafd344@intel.com> (raw)
In-Reply-To: <825ddadd-6770-46b5-936e-f17988534984@amd.com>
On 2025/2/28 16:47, Vasant Hegde wrote:
> Hi Yi,
>
>
> On 2/28/2025 2:17 PM, Yi Liu wrote:
>> On 2025/2/28 16:30, Vasant Hegde wrote:
>>> Hi Yi,
>>>
>>>
>>> On 2/28/2025 1:13 PM, Yi Liu wrote:
>>>> On 2025/2/28 14:32, Tian, Kevin wrote:
>>>>>> From: Vasant Hegde <vasant.hegde@amd.com>
>>>>>> Sent: Thursday, February 27, 2025 11:28 PM
>>>>>>
>>>>>> Hi Kevin,
>>>>>>
>>>>>>
>>>>>> On 2/26/2025 12:35 PM, Tian, Kevin wrote:
>>>>>>>> From: Tian, Kevin
>>>>>>>> Sent: Wednesday, February 26, 2025 10:51 AM
>>>>>>>>
>>>>>>>>> From: Jason Gunthorpe <jgg@ziepe.ca>
>>>>>>>>> Sent: Wednesday, February 26, 2025 9:18 AM
>>>>>>>>>
>>>>>>>>> On Wed, Feb 26, 2025 at 01:12:38AM +0000, Tian, Kevin wrote:
>>>>>>>>>> If above understanding is true, my preference is to support a sats flag
>>>>>>>>>> in domain alloc (nested_parent only and PCI/CXL.io only, as the start).
>>>>>> For
>>>>>>>>>> AMD it turns on the sats bit in the DTE. for Intel/ARM the permission
>>>>>>>>>> structure is created and updated according to the map/unmap calls
>>>>>>>>>> on the parent S2.
>>>>>>>>>
>>>>>>>>> They are functionally different things, and have different
>>>>>>>>> requirements on the PCI topologies supported (eg CXL.cache vs no
>>>>>>>>> CXL.cache)
>>>>>>>>>
>>>>>>>>> I think they need to be different flags
>>>>>>>>>
>>>>>>>>
>>>>>>>> Not exactly. They are functionally different but serving the same purpose
>>>>>>>> to the user. From user p.o.v. it's sufficient to have a general flag for
>>>>>>>> sats
>>>>>>>> when allocating a domain. The underlying driver decides whether such
>>>>>>>> flag is supported based on the domain type and the associated device,
>>>>>>>> just like checks on other existing flags.
>>>>>>>>
>>>>>>>
>>>>>>> Chatted with Yi offline. Having untrusted user control a security
>>>>>>> feature doesn't make much sense. Probably what we really require
>>>>>>> is:
>>>>>>>
>>>>>>> - IOMMU core exposes a separate sats knob per probed device,
>>>>>>> allowing the administrator to manage the sats policy which could
>>>>>>> be no ats, unsecure ats and secure ats (might be further set per
>>>>>>> domain type in case the hw doesn't support sats for all types or
>>>>>>> the driver doesn't support all hw-supported types in one batch).
>>>>>>
>>>>>> When you say "sats knob", you mean sysfs interface?
>>>>>
>>>>> yes
>>>>
>>>> in case this is the direction. This might be a per iommu_group knob. do we
>>>
>>>
>>>> want a default value per some info that can be probed by kernel?
>>>
>>> I prefer kernel probe/setting default values so that we can enforce HW
>>> restrictions (like SNP, untrusted device etc) and then....
>>
>> I got untrusted device. How is SNP probed? Is there any bit for it?
>
> Yes. There is a IOMMU feature bit. see iommu_snp_enable().
sure.
I'm also thinking about the impact of such a knob. How should we define
this knob. Should we allow it to disable/enable ATS? Especially in runtime.
e.g. if the device is identified to be ATS untrusted by the admin, while
the hw does not support SATS, it seems reasonable to disable ATS for
such device. This might change the driver behavior on ATS enabling. Intel
iommu driver enables ATS as long as it's available in the probe_device()
op. What about AMD and ARM?
On the other hand, we may just define the knob as sats required or not.
This is just a knob to let kernel know if the iommu driver needs to enable
sats or not. While leave the ATS enabling policy unchanged. This means
we need to probe the sats capability of iommu hw before creating the knob
in sysfs.
Any ideas?
--
Regards,
Yi Liu
next prev parent reply other threads:[~2025-03-02 8:06 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-25 10:58 [PATCH] iommu/amd: Add Secure ATS support Vasant Hegde
2025-02-25 12:30 ` Yi Liu
2025-02-25 13:18 ` Robin Murphy
2025-02-25 13:57 ` Yi Liu
2025-02-25 14:55 ` Jason Gunthorpe
2025-02-26 1:09 ` Yi Liu
2025-02-26 1:13 ` Jason Gunthorpe
2025-02-26 1:27 ` Yi Liu
2025-02-26 2:52 ` Tian, Kevin
2025-02-26 1:12 ` Tian, Kevin
2025-02-26 1:17 ` Jason Gunthorpe
2025-02-26 2:50 ` Tian, Kevin
2025-02-26 12:57 ` Jason Gunthorpe
2025-02-26 7:05 ` Tian, Kevin
2025-02-26 12:58 ` Jason Gunthorpe
2025-02-27 15:27 ` Vasant Hegde
2025-02-28 6:32 ` Tian, Kevin
2025-02-28 7:43 ` Yi Liu
2025-02-28 8:30 ` Vasant Hegde
2025-02-28 8:47 ` Yi Liu
2025-02-28 8:47 ` Vasant Hegde
2025-03-02 8:10 ` Yi Liu [this message]
2025-03-03 3:00 ` Tian, Kevin
2025-03-04 6:58 ` Yi Liu
2025-03-03 11:42 ` Vasant Hegde
2025-03-05 3:24 ` Tian, Kevin
2025-03-10 17:07 ` Vasant Hegde
2025-03-12 7:15 ` Tian, Kevin
2025-03-17 8:56 ` Vasant Hegde
2025-04-07 5:28 ` Tian, Kevin
2025-03-03 18:38 ` Jason Gunthorpe
2025-03-04 2:16 ` Baolu Lu
2025-03-04 14:18 ` Jason Gunthorpe
2025-03-05 2:45 ` Baolu Lu
2025-03-05 2:46 ` Tian, Kevin
2025-03-04 6:50 ` Yi Liu
2025-03-04 10:46 ` Vasant Hegde
2025-03-04 14:20 ` Jason Gunthorpe
2025-03-05 2:50 ` Tian, Kevin
2025-03-05 17:22 ` Jason Gunthorpe
2025-03-06 2:41 ` Tian, Kevin
2025-03-14 12:54 ` Yi Liu
2025-03-04 10:15 ` Vasant Hegde
2025-03-04 14:24 ` Jason Gunthorpe
2025-03-10 16:35 ` Vasant Hegde
2025-03-14 12:09 ` Yi Liu
2025-03-19 19:52 ` Jason Gunthorpe
2025-03-14 12:22 ` Yi Liu
2025-02-28 8:26 ` Vasant Hegde
2025-02-28 14:56 ` Jason Gunthorpe
2025-03-03 2:55 ` Tian, Kevin
2025-03-10 14:13 ` Vasant Hegde
2025-03-12 6:55 ` Tian, Kevin
2025-03-03 11:56 ` Vasant Hegde
2025-02-26 4:47 ` Vasant Hegde
2025-02-26 7:10 ` Tian, Kevin
2025-02-26 13:01 ` Jason Gunthorpe
2025-02-26 22:42 ` Jerry Snitselaar
2025-02-27 16:04 ` Vasant Hegde
2025-02-28 0:04 ` Jason Gunthorpe
2025-02-28 6:18 ` Tian, Kevin
2025-02-28 1:47 ` Baolu Lu
2025-02-28 6:15 ` Tian, Kevin
2025-02-28 8:53 ` Vasant Hegde
2025-02-28 14:53 ` Jason Gunthorpe
2025-03-03 2:43 ` Tian, Kevin
2025-02-28 8:38 ` Vasant Hegde
2025-02-26 4:33 ` Vasant Hegde
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=13e1e1d8-5870-44ea-a800-e5b25bafd344@intel.com \
--to=yi.l.liu@intel.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@ziepe.ca \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=robin.murphy@arm.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=vasant.hegde@amd.com \
--cc=will@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.