From: Mario Limonciello <mario.limonciello@amd.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: "stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: Re: Properly reflect IOMMU DMA Protection in 5.15.y+
Date: Fri, 2 Sep 2022 07:04:12 -0500 [thread overview]
Message-ID: <16ba0dd3-b500-e75c-fdb6-a5c024212105@amd.com> (raw)
In-Reply-To: <YxG2VIMFLXX9k+nx@kroah.com>
On 9/2/22 02:52, Greg KH wrote:
> On Fri, Sep 02, 2022 at 12:37:15AM -0500, Mario Limonciello wrote:
>> On 9/2/22 00:29, Greg KH wrote:
>>> On Fri, Sep 02, 2022 at 03:00:26AM +0000, Limonciello, Mario wrote:
>>>> [Public]
>>>>
>>>> Hi,
>>>>
>>>> A sysfs file /sys/bus/thunderbolt/devices/domainX/iommu_dma_protection is exported from the kernel and used by userspace to make judgments on whether to automatically authorize PCIe tunnels for USB4 devices.
>>>> Before kernel 5.19 this file was only populated on Intel USB4 and TBT3 controllers, but starting with 5.19 it also populates for non-Intel as well.
>>>
>>> So that's a new kernel feature?
>>
>> The sysfs file was there all along, but it always showed "0" for anything
>> but Intel systems. This makes it work properly on everyone else.
>>
>>>
>>>> This is accomplished by an assertion from the IOMMU subsystem that it's safe to do so by a combination of firmware and hardware.
>>>>
>>>> Here is the patch series on top of 5.15.64:
>>>>
>>>> 3f6634d997dba8140b3a7cba01776b9638d70dff
>>>> ed36d04e8f8d7b00db451b0fa56a54e8e02ec43e
>>>> d0be55fbeb6ac694d15af5d1aad19cdec8cd64e5
>>>> f316ba0a8814f4c91e80a435da3421baf0ddd24c
>>>> f1ca70717bcb4525e29da422f3d280acbddb36fe
>>>> bfb3ba32061da1a9217ef6d02fbcffb528e4c8df
>>>> 418e0a3551bbef5b221705b0e5b8412cdc0afd39
>>>> acdb89b6c87a2d7b5c48a82756e6f5c6f599f60a
>>>> ea4692c75e1c63926e4fb0728f5775ef0d733888
>>>> 86eaf4a5b4312bea8676fb79399d9e08b53d8e71
>>>>
>>>> Can you please consider backporting them to 5.15.y+?
>>>
>>> I don't understand why all of the string helpers are needed just for the
>>> last commit, are you sure this is all necessary?
>>>
>> The last commit (thunderbolt commit) uses one of them. That commit for the
>> one of them doesn't come back cleanly, but catching all of them up does.
>>
>> So I could potentially change the thunderbolt commit to not use the string
>> helper, but figured this was cleaner.
>>
>>> And again, this feels like new features are being added that are much
>>> more than just a "new device id added". Why not just use 5.19 for this
>>> hardware?
>>
>> Stuff like this is targeted towards businesses that would want to be using
>> LTS kernels. In fact I heard "But on Intel we just plug in the dock and it
>> just works" is what prompted the series in the first place.
>>
>> It improves usability quite a bit because without it you need to know to
>> manually change the sysfs file for your dock to work or you need to have
>> GNOME installed and go and find the panel to change it.
>>
>> With this sysfs file is showing the right value you get all that happening
>> automatically.
>
> I understand the wish to have hardware work on older kernel versions,
> but in looking over the full patch series here, it's not just a trivial
> addition. This is adding lots of things that were never in 5.15 to
> start with for AMD hardware (and touching other platform's code at the
> same time), which is fine for newer kernels, but not to backport to
> older ones.
>
> Here's the overall diffstat of what you are asking for:
>
> drivers/iommu/amd/amd_iommu_types.h | 4 ++++
> drivers/iommu/amd/init.c | 3 +++
> drivers/iommu/amd/iommu.c | 2 ++
> drivers/iommu/dma-iommu.c | 5 +++++
> drivers/iommu/intel/iommu.c | 2 ++
> drivers/iommu/iommu.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++-------------------------
> drivers/thunderbolt/domain.c | 12 +++---------
> drivers/thunderbolt/nhi.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
> include/linux/iommu.h | 19 +++++++++++++++++++
> include/linux/string_helpers.h | 25 +++++++++++++++++++++++++
> include/linux/thunderbolt.h | 2 ++
> lib/string_helpers.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 12 files changed, 221 insertions(+), 34 deletions(-)
>
> The string helpers are trivial, but those iommu changes were not.
>
> As proof of that, you missed some fixes in the kernel tree for the above
> requested commits that would have caused problems. Heck, even the
> string helpers needed a fix that you missed, so I was wrong in saying
> they were trivial!
>
> So if I would have taken these commits as asked for, they might not have
> even worked properly and caused problems for people. So for that reason
> alone I would have had to reject this request.
>
> Remember, stable kernels are not for "new hardware enablement", unlike
> how some distro kernels work. If you wanted this hardware to be
> supported for last year's stable kernel release, you all would have done
> the work back then to get it accepted as obviously you all had the
> hardware back then and knew it was going to be an issue.
>
> Just point any user of this hardware to the latest kernel release, and
> all will be fine. And work on getting your new hardware supported
> upstream quicker please. That will prevent this issue from happening
> again in the future.
>
> thanks,
>
> greg k-h
Got it, thanks for your review and guidance.
prev parent reply other threads:[~2022-09-02 12:04 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-02 3:00 Properly reflect IOMMU DMA Protection in 5.15.y+ Limonciello, Mario
2022-09-02 5:29 ` Greg KH
2022-09-02 5:37 ` Mario Limonciello
2022-09-02 7:52 ` Greg KH
2022-09-02 12:04 ` Mario Limonciello [this message]
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=16ba0dd3-b500-e75c-fdb6-a5c024212105@amd.com \
--to=mario.limonciello@amd.com \
--cc=gregkh@linuxfoundation.org \
--cc=stable@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox