Ville Syrjälä 78f79e4e95 tests/kms_fence_pin_leak: Exercise full ppgtt fence pin_count leak in the kernel
The kernel full ppgtt support has a bug where it can drop a pinned
fence to the floor, hence we leak the pin_count as the subsequent
fence unpin becomes a nop. We can trigger it easily by unbinding a
buffer from a ppgtt address space while the buffer is simultaneosly
being used for scanout.

Make the kernel leak the fence pin_count and trick it into picking
a new fence register for the next scanout buffer. Looping like
this for a while we leak the pin_count for all fence registers after
which the kernel can no longer find a new fence register when it needs
one. As a result we get back a SIGBUS from the GTT mmap access.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-05-14 19:16:49 +03:00
..
2012-04-10 16:23:18 +02:00
2013-07-21 22:04:20 -07:00
2013-11-04 19:49:10 +01:00
2013-11-04 19:49:10 +01:00
2014-05-14 00:36:04 +02:00
2014-03-23 13:47:09 +01:00
2014-05-14 12:33:02 +01:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-03-23 13:47:09 +01:00
2014-05-14 09:56:53 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 00:36:04 +02:00
2014-03-23 13:47:09 +01:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 09:56:53 +02:00
2014-03-23 13:47:09 +01:00
2014-05-14 09:56:53 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 09:56:53 +02:00
2014-03-23 13:47:09 +01:00
2013-11-01 22:18:20 +01:00
2014-05-14 12:33:02 +01:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-04-14 09:37:53 +02:00
2014-05-14 11:52:35 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 00:36:04 +02:00
2014-05-14 09:56:53 +02:00
2014-05-14 09:56:53 +02:00
2013-11-01 21:10:59 +01:00
2013-07-21 22:04:20 -07:00
2012-01-15 16:05:43 +01:00