Re: [PATCH] drm/ttm: set TTM allocated pages as reserved

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 29.03.23 um 19:22 schrieb Sean Christopherson:
+David

On Wed, Mar 29, 2023, Paolo Bonzini wrote:
On 3/29/23 18:43, Christian K�nig wrote:

3) other uses of kmap() must switch to MMU-notifier protection.
I would rather suggest to return the page additionally to the pfn from
hva_to_pfn() when the function was able to grab a reference to it.

When the page is then not available you can't call kmap() on that either.

If the DRM people are okay with SetPageReserved() as a temporary
hack, we can change or remove the WARN in kvm_is_zone_device_page(),
since that is what you are referring to in the commit message.
Adding Daniel for additional comments on this, but essentially we have
changed quite some infrastructure to make sure that everybody uses
VM_PFNMAP to prevent stuff like this from happening.

I would really prefer a proper solution in KVM instead.
Hmm... Now that I think about it that would be

https://lore.kernel.org/kvm/Yc4H+dGfK83BaGpC@xxxxxxxxxx/t/

Time to resurrect that work.
Ya.  I had previously asked David to first eliminated the usage that isn't
protected by mmu_notifiers, but after seeing the resulting complexity, I had a
change of heart[2].  Can you weigh in on the latter thread, specifically my
proposal of using a module param to let the admin opt-in to "unsafe" kmap usage.

I don't think that this is something an admin should be able to decide.

x86 system are rather grateful, but if you kmap() pages accessed by GPUs on ARM the system might just reboot spontaneously.

Robin Murphy <robin.murphy@xxxxxxx> can fill you in on the hw details if needed.

Christian.


[1] https://lore.kernel.org/kvm/Ydhq5aHW+JFo15UF@xxxxxxxxxx
[2] https://lore.kernel.org/all/ZBEEQtmtNPaEqU1i@xxxxxxxxxx/




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux