Re: [PATCH v2 1/4] x86/mm: Export force_dma_unencrypted

From: Thomas HellstrÃm (VMware)
Date: Tue Sep 03 2019 - 14:50:36 EST

On 9/3/19 5:14 PM, Dave Hansen wrote:
On 9/3/19 6:15 AM, Thomas HellstrÃm (VMware) wrote:
The force_dma_unencrypted symbol is needed by TTM to set up the correct
page protection when memory encryption is active. Export it.
It would be great if this had enough background that I didn't have to
look at patch 4 to figure out what TTM might be.

Why is TTM special? How many other drivers would have to be modified in
a one-off fashion if we go this way? What's the logic behind this being
a non-GPL export?

TTM tries to abstract mapping of graphics buffer objects regardless where they live. Be it in pci memory or system memory. As such it needs to figure out the proper page protection. For example if a buffer object is moved from pci memory to system memory transparently to a user-space application, all user-space mappings need to be killed and then reinstated pointing to the new location, sometimes with a new page protection.

I try to keep away as much as possible from the non-GPL vs GPL export discussions. I have no strong opinion on the subject. Although since sev_active() is a non-GPL export, I decided to mimic that.