Re: [PATCH 4/4] drm/i915: fix relocation of secure buffers

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

 



On 15/04/2016 12:43, Chris Wilson wrote:
On Fri, Apr 15, 2016 at 12:32:57PM +0100, Dave Gordon wrote:
There is a problem with the relocation of batches submitted with the
I915_EXEC_SECURE flag: although the batch itself will be mapped into the
GGTT, any relocations referring to it will use its address in the PPGTT,
which almost certainly won't be the same.
This is incorrect. We can have and do use secure batches in the GGTT that
use ppGTT self relocations.
-Chris

No, what I wrote is correct. A batch containing an MI_START_BATCH_BUFFER with a relocation description specifying the target as another part of the same batch will have the address of the batch in the PPGTT filled in there; Miguel has an example to demonstrate this. (And it's obvious from the code, relocation is completed before the GGTT mapping is created so can't put the GGTT address in the relocated entry).

Therefore, the secure batch cannot jump to another part of the buffer and remain in privileged mode.

OTOH it may ALSO be useful for the privileged batch to jump to UNPRIVILEGED subroutines, which would require the relocation to provide the PPGTT address (although I wouldn't expect that to be the default).

Maybe we need to extend the relocation interface so the batch can choose?

.Dave.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux