Chris Wilson
6bfec6d945
dma-buf: Use fence_get_rcu_safe() for retrieving the exclusive fence
The current code is subject to a race where we may try to acquire a
reference on a stale fence:
[13703.335118] WARNING: CPU: 1 PID: 14975 at ./include/linux/kref.h:46 i915_gem_object_wait+0x1a3/0x1c0
[13703.335184] Modules linked in:
[13703.335202] CPU: 1 PID: 14975 Comm: gem_concurrent_ Not tainted 4.9.0-rc4+ #26
[13703.335216] Hardware name: / , BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015
[13703.335233] ffffc90002f5bcc8 ffffffff812807de 0000000000000000 0000000000000000
[13703.335257] ffffc90002f5bd08 ffffffff81073811 0000002e80000000 ffff88026bf7c780
[13703.335279] 7fffffffffffffff 0000000000000001 ffff88027045a550 ffff88026bf7c780
[13703.335301] Call Trace:
[13703.335316] [<ffffffff812807de>] dump_stack+0x4d/0x6f
[13703.335331] [<ffffffff81073811>] __warn+0xc1/0xe0
[13703.335343] [<ffffffff810738e8>] warn_slowpath_null+0x18/0x20
[13703.335355] [<ffffffff813ac443>] i915_gem_object_wait+0x1a3/0x1c0
[13703.335367] [<ffffffff813ae8ec>] i915_gem_set_domain_ioctl+0xcc/0x330
[13703.335386] [<ffffffff813534ab>] drm_ioctl+0x1cb/0x410
[13703.335400] [<ffffffff813ae820>] ? i915_gem_obj_prepare_shmem_write+0x1d0/0x1d0
[13703.335416] [<ffffffff8135359b>] ? drm_ioctl+0x2bb/0x410
[13703.335429] [<ffffffff8117d32f>] do_vfs_ioctl+0x8f/0x5c0
[13703.335442] [<ffffffff8117d89c>] SyS_ioctl+0x3c/0x70
[13703.335456] [<ffffffff815a07a4>] entry_SYSCALL_64_fastpath+0x17/0x98
[13703.335558] ---[ end trace fd24176416ba6981 ]---
[13703.382778] general protection fault: 0000 [#1] SMP
[13703.382802] Modules linked in:
[13703.382816] CPU: 1 PID: 14967 Comm: gem_concurrent_ Tainted: G W 4.9.0-rc4+ #26
[13703.382828] Hardware name: / , BIOS PYBSWCEL.86A.0027.2015.0507.1758 05/07/2015
[13703.382841] task: ffff880275458000 task.stack: ffffc90002f18000
[13703.382849] RIP: 0010:[<ffffffff813b3534>] [<ffffffff813b3534>] i915_gem_request_retire+0x2b4/0x320
[13703.382870] RSP: 0018:ffffc90002f1bbc8 EFLAGS: 00010293
[13703.382878] RAX: dead000000000200 RBX: ffff88026bf7dce8 RCX: dead000000000100
[13703.382887] RDX: dead000000000100 RSI: ffff88026bf7c930 RDI: ffff88026bf7dd00
[13703.382897] RBP: ffffc90002f1bbf8 R08: 00000000ffffffff R09: ffff88026b89a000
[13703.382905] R10: 0000000000000001 R11: ffff88026bbe8fe0 R12: ffff88026bf7c000
[13703.382913] R13: ffff880275af8000 R14: ffff88026bf7c180 R15: dead000000000200
[13703.382922] FS: 00007f89e787d740(0000) GS:ffff88027fd00000(0000) knlGS:0000000000000000
[13703.382934] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[13703.382942] CR2: 00007f9053d2e000 CR3: 000000026d414000 CR4: 00000000001006e0
[13703.382951] Stack:
[13703.382958] ffff880275413000 ffffc90002f1bde8 ffff880275af8000 ffff880274e8a600
[13703.382976] ffff880276a06000 ffffc90002f1bde8 ffffc90002f1bc38 ffffffff813b48c5
[13703.382995] ffffc90002f1bc00 ffffc90002f1bde8 ffff88026972a440 0000000000000000
[13703.383021] Call Trace:
[13703.383032] [<ffffffff813b48c5>] i915_gem_request_alloc+0xa5/0x350
[13703.383043] [<ffffffff813a17c3>] i915_gem_do_execbuffer.isra.41+0x7b3/0x18b0
[13703.383055] [<ffffffff813b144c>] ? i915_gem_object_get_sg+0x25c/0x2b0
[13703.383065] [<ffffffff813b1d4d>] ? i915_gem_object_get_page+0x1d/0x50
[13703.383076] [<ffffffff813b28cc>] ? i915_gem_pwrite_ioctl+0x66c/0x6d0
[13703.383086] [<ffffffff813a2c25>] i915_gem_execbuffer2+0x95/0x1e0
[13703.383096] [<ffffffff813534ab>] drm_ioctl+0x1cb/0x410
[13703.383105] [<ffffffff813a2b90>] ? i915_gem_execbuffer+0x2d0/0x2d0
[13703.383117] [<ffffffff810c3df0>] ? hrtimer_start_range_ns+0x1a0/0x310
[13703.383128] [<ffffffff8117d32f>] do_vfs_ioctl+0x8f/0x5c0
[13703.383140] [<ffffffff810c60e8>] ? SyS_timer_settime+0x118/0x1a0
[13703.383150] [<ffffffff8117d89c>] SyS_ioctl+0x3c/0x70
[13703.383162] [<ffffffff815a07a4>] entry_SYSCALL_64_fastpath+0x17/0x98
[13703.383172] Code: 49 39 c6 48 8d 70 e8 48 8d 5f e8 75 16 eb 47 48 8d 43 18 48 8b 53 18 48 89 de 49 39 c6 48 8d 5a e8 74 33 48 8b 56 08 48 8b 46 10 <48> 89 42 08 48 89 10 f6 46 38 01 48 89 4e 08 4c 89 7e 10 74 cf
[13703.383557] RIP [<ffffffff813b3534>] i915_gem_request_retire+0x2b4/0x320
[13703.383570] RSP <ffffc90002f1bbc8>
[13703.383586] ---[ end trace fd24176416ba6982 ]---
This is fixed by using the kref_get_unless_zero() as a full memory
barrier to validate the fence is still the current exclusive fence before
returning it back to the caller. (Note the fix only requires using
dma_fence_get_rcu() and correct handling, but we may as well use the
helper rather than inline equivalent code.)
Note: Issue can only be hit with the i915 driver.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org
Fixes: d07f0e59b2
("drm/i915: Move GEM activity tracking into a common struct reservation_object")
Reviewed-by: Christian König <christian.koenig@amd.com>.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161114115540.31155-1-chris@chris-wilson.co.uk
2016-11-15 08:30:02 +01:00
..
2016-10-12 11:01:37 -07:00
2016-10-05 10:11:24 -07:00
2016-09-22 10:01:21 +02:00
2016-10-03 16:13:50 +02:00
2016-05-09 16:18:37 +02:00
2016-09-15 21:15:40 +05:30
2016-09-10 16:48:46 +05:30
2016-09-01 14:23:39 -07:00
2016-10-11 15:06:33 -07:00
2016-06-28 00:38:53 +02:00
2016-09-14 20:42:03 +02:00
2016-07-15 14:50:53 -07:00
2016-10-17 16:26:29 +01:00
2016-07-28 09:34:47 +05:30
2016-10-07 08:35:35 -07:00
2016-10-29 16:23:48 -04:00
2016-10-29 12:00:39 -04:00
2016-10-05 11:34:53 -07:00
2016-10-28 09:58:36 +02:00
2016-09-12 19:59:39 +02:00
2016-07-03 10:55:07 +02:00
2016-10-03 19:43:08 -07:00
2016-09-10 17:31:39 +05:30
2016-06-23 11:18:56 +02:00
2016-10-11 13:22:22 -07:00
2016-09-21 02:08:04 +02:00
2016-10-22 17:08:07 -04:00
2016-10-07 09:45:43 -07:00
2016-09-30 09:13:58 -07:00
2016-07-08 16:23:11 +02:00
2016-08-23 15:46:33 -05:00
2016-09-30 09:14:10 -07:00
2016-10-13 21:28:20 -07:00
2016-09-14 20:37:50 +02:00
2016-08-31 10:06:03 +03:00
2016-09-12 20:32:40 +01:00
2016-10-24 14:18:14 +02:00
2016-09-20 14:35:59 -05:00
2016-06-20 12:47:09 -07:00
2016-09-05 12:41:46 +02:00
2016-08-25 11:26:48 -04:00
2016-07-08 17:01:14 +03:00
2016-09-27 12:54:03 +02:00
2016-07-07 09:16:20 +02:00
2016-06-29 15:18:47 -07:00
2016-10-11 15:06:31 -07:00
2016-10-11 15:06:31 -07:00
2016-08-04 14:19:16 -06:00
2016-08-04 14:19:16 -06:00
2016-05-04 23:41:14 +02:00
2016-07-26 16:19:19 -07:00
2016-05-13 14:01:43 +02:00
2016-07-25 16:51:49 +10:00
2016-09-22 07:48:03 -06:00
2016-09-09 12:09:24 +03:00
2016-08-18 10:44:20 +02:00
2016-10-07 18:46:26 -07:00
2016-09-14 09:18:06 -06:00
2016-10-14 12:18:50 -07:00
2016-09-15 08:42:03 -06:00
2016-10-09 17:32:20 -07:00
2016-09-14 11:48:34 -06:00
2016-06-07 13:41:38 -06:00
2016-09-15 18:29:06 -04:00
2016-10-07 18:46:28 -07:00
2016-09-29 01:35:35 -04:00
2016-09-29 01:35:35 -04:00
2016-07-26 15:03:07 -07:00
2016-09-09 12:09:24 +03:00
2016-08-11 09:41:35 -06:00
2016-08-02 17:31:41 -04:00
2016-08-09 18:47:16 +08:00
2016-08-22 14:05:49 -03:00
2016-08-22 14:00:51 -03:00
2016-04-25 15:45:14 -04:00
2016-10-14 12:18:50 -07:00
2016-10-17 15:27:27 -07:00
2016-07-30 11:20:02 -07:00
2016-06-28 10:19:35 +02:00
2016-10-07 18:46:29 -07:00
2016-09-27 21:20:53 -04:00
2016-10-10 14:51:45 -07:00
2016-10-15 10:03:15 -07:00
2016-06-25 09:04:48 -07:00
2016-10-07 18:46:30 -07:00
2016-08-02 16:11:27 -04:00
2016-05-03 14:59:30 -07:00
2016-08-31 13:05:43 +02:00
2016-10-07 18:46:30 -07:00
2016-10-20 16:35:50 +02:00
2016-10-20 20:10:17 +02:00
2016-07-21 23:29:38 +02:00
2016-08-02 19:35:24 -04:00
2016-05-19 19:12:14 -07:00
2016-05-13 14:01:59 +02:00
2016-10-07 18:46:30 -07:00
2016-07-18 17:35:46 +08:00
2016-10-11 15:06:30 -07:00
2016-09-19 11:24:50 +10:00
2016-09-16 12:44:20 +02:00
2016-09-21 12:13:31 +02:00
2016-07-26 16:19:19 -07:00
2016-09-06 13:08:40 +09:00
2016-05-03 11:20:07 +09:00
2016-09-14 13:56:38 -04:00
2016-09-16 09:34:15 +01:00
2016-06-05 10:36:01 -07:00
2016-06-07 13:41:38 -06:00
2016-10-25 14:40:39 +02:00
2016-09-26 22:16:41 +05:30
2016-10-25 14:40:39 +02:00
2016-11-09 00:12:00 +05:30
2016-09-16 09:34:22 +01:00
2016-10-11 15:06:32 -07:00
2016-08-08 08:11:42 +05:30
2016-06-13 21:43:05 -06:00
2016-06-13 21:43:05 -06:00
2016-06-13 21:43:08 -06:00
2016-08-04 08:50:07 -04:00
2016-09-13 20:21:55 +02:00
2016-07-20 21:35:12 -06:00
2016-05-27 16:03:22 -07:00
2016-05-17 15:48:12 -04:00
2016-07-01 16:37:06 +02:00
2016-10-14 14:26:58 -07:00
2016-10-06 09:07:44 -04:00
2016-08-04 10:16:56 +09:30
2016-09-16 08:53:41 +02:00
2016-09-30 10:05:46 -07:00
2016-10-03 09:11:14 -07:00
2016-05-02 16:24:49 +02:00
2016-10-15 10:03:15 -07:00
2016-05-02 19:49:28 -04:00
2016-09-09 19:36:04 -07:00
2016-08-02 19:35:10 -04:00
2016-07-26 16:19:19 -07:00
2016-10-14 17:23:33 -07:00
2016-06-01 10:29:39 +02:00
2016-10-07 15:15:33 -07:00
2016-10-07 18:46:26 -07:00
2016-09-16 12:44:20 +02:00
2016-09-02 12:47:55 -04:00
2016-10-06 11:48:41 -07:00
2016-10-10 14:51:45 -07:00
2016-05-10 15:43:09 -04:00
2016-07-28 16:07:41 -07:00
2016-05-20 17:58:30 -07:00
2016-05-28 15:48:31 -04:00
2016-10-17 14:23:46 +02:00
2016-08-21 20:12:32 +01:00
2016-09-29 10:40:13 +02:00
2016-08-24 15:58:57 +02:00
2016-07-15 10:41:37 +02:00
2016-10-07 18:46:28 -07:00
2016-05-20 17:58:30 -07:00
2016-05-19 19:12:14 -07:00
2016-10-07 18:46:29 -07:00
2016-08-24 21:04:48 +08:00
2016-09-08 21:34:15 -07:00
2016-10-29 15:03:14 -04:00
2016-09-05 13:52:38 +02:00
2016-08-25 22:11:02 +02:00
2016-07-22 09:07:02 +02:00
2016-09-24 10:48:18 +02:00
2016-07-27 14:20:09 -07:00
2016-06-18 22:11:39 -07:00
2016-06-30 12:06:20 +02:00
2016-07-08 13:23:12 +02:00
2016-09-01 22:48:33 -07:00
2016-05-03 16:00:54 -04:00
2016-09-24 08:01:26 -04:00
2016-10-07 23:50:39 -04:00
2016-09-08 17:10:28 -07:00
2016-05-01 09:23:52 -04:00
2016-09-08 16:13:09 -07:00
2016-09-16 09:18:54 +02:00
2016-10-15 10:03:15 -07:00
2016-07-13 17:27:24 -07:00
2016-09-14 22:11:09 +02:00
2016-05-03 18:23:02 +01:00
2016-05-03 18:23:02 +01:00
2016-08-24 09:43:49 +02:00
2016-10-26 15:45:38 +10:00
2016-10-20 15:51:28 +11:00
2016-09-16 09:34:15 +01:00
2016-05-16 15:12:02 -05:00
2016-09-14 09:18:09 -06:00
2016-08-08 14:42:03 -05:00
2016-07-27 10:24:38 -05:00
2016-10-17 10:17:05 -04:00
2016-09-20 23:20:32 +02:00
2016-05-11 22:37:54 +02:00
2016-09-14 15:28:15 +02:00
2016-07-04 12:26:05 +02:00
2016-06-17 20:47:11 -07:00
2016-05-16 11:14:29 -04:00
2016-06-30 11:40:54 -04:00
2016-10-07 18:46:26 -07:00
2016-10-03 13:22:39 -07:00
2016-05-20 17:58:30 -07:00
2016-10-16 11:02:31 +02:00
2016-10-27 18:43:43 -07:00
2016-07-28 16:07:41 -07:00
2016-10-09 12:23:38 -07:00
2016-07-06 10:34:48 +01:00
2016-10-07 18:46:30 -07:00
2016-08-10 11:23:44 -04:00
2016-10-11 15:06:33 -07:00
2016-07-26 16:19:19 -07:00
2016-10-11 15:06:33 -07:00
2016-07-26 16:19:19 -07:00
2016-10-11 15:06:33 -07:00
2016-10-05 10:11:24 -07:00
2016-09-16 16:57:47 +02:00
2016-07-18 08:46:09 +02:00
2016-06-20 09:43:33 +02:00
2016-09-15 16:49:39 +02:00
2016-09-22 11:50:29 -04:00
2016-09-30 19:13:42 -07:00
2016-09-21 07:57:31 -06:00
2016-09-14 12:57:43 -07:00
2016-08-18 23:41:55 +02:00
2016-09-24 10:48:32 +02:00
2016-09-19 13:42:38 -04:00
2016-09-19 12:27:10 +10:00
2016-09-15 21:13:50 +05:30
2016-06-26 01:20:08 +02:00
2016-09-27 12:33:47 +02:00
2016-06-10 23:24:53 -07:00
2016-10-07 18:46:28 -07:00
2016-10-07 18:46:29 -07:00
2016-07-26 16:19:19 -07:00
2016-09-01 17:52:01 -07:00
2016-05-19 19:12:14 -07:00
2016-07-28 16:07:41 -07:00
2016-07-15 11:53:02 -07:00
2016-07-26 16:19:19 -07:00
2016-08-31 14:12:35 +02:00
2016-07-28 16:07:41 -07:00
2016-10-07 18:46:27 -07:00
2016-10-24 19:13:20 -07:00
2016-08-02 19:35:02 -04:00
2016-07-26 16:19:19 -07:00
2016-04-28 11:44:19 +02:00
2016-10-27 09:27:57 -07:00
2016-06-26 17:14:03 -07:00
2016-08-04 10:16:55 +09:30
2016-09-30 12:46:48 -05:00
2016-07-01 23:45:18 +08:00
2016-09-25 23:41:39 -04:00
2016-09-25 23:41:39 -04:00
2016-09-14 22:11:08 +02:00
2016-07-29 12:17:52 -07:00
2016-10-07 09:20:53 -07:00
2016-08-28 23:32:41 -04:00
2016-06-03 19:37:21 -04:00
2016-10-20 14:32:22 -04:00
2016-09-25 14:38:48 +02:00
2016-09-25 23:34:19 +02:00
2016-09-27 14:34:01 -04:00
2016-09-22 15:54:27 -04:00
2016-07-05 19:11:05 -04:00
2016-09-19 13:11:13 -04:00
2016-04-25 15:09:11 -04:00
2016-10-07 18:46:30 -07:00
2016-05-19 19:12:14 -07:00
2016-07-08 08:38:49 -06:00
2016-10-19 11:36:22 -06:00
2016-06-25 07:42:55 -07:00
2016-05-01 14:01:00 -07:00
2016-05-12 07:07:42 -05:00
2016-09-28 17:43:15 +02:00
2016-10-03 23:38:11 +02:00
2016-05-02 09:00:56 -05:00
2016-06-23 14:57:40 -05:00
2016-07-16 21:32:58 -07:00
2016-09-16 09:34:14 +01:00
2016-07-08 18:14:03 -03:00
2016-09-15 08:33:01 -05:00
2016-09-28 08:53:14 +05:30
2016-08-29 11:00:23 +03:00
2016-04-26 10:19:38 +05:30
2016-10-07 18:46:28 -07:00
2016-09-19 21:44:30 +02:00
2016-10-07 18:46:27 -07:00
2016-06-03 15:06:22 -07:00
2016-10-07 18:46:27 -07:00
2016-06-21 09:43:04 +02:00
2016-07-26 16:19:19 -07:00
2016-10-11 15:06:34 -07:00
2016-06-10 18:27:59 -05:00
2016-06-10 15:41:08 -05:00
2016-10-07 11:46:37 -07:00
2016-05-03 10:35:49 -05:00
2016-06-03 12:06:11 +02:00
2016-09-22 15:25:54 +02:00
2016-05-20 17:58:30 -07:00
2016-10-28 11:06:25 +02:00
2016-06-24 11:39:29 -07:00
2016-09-22 08:21:21 -04:00
2016-08-08 14:42:01 -05:00
2016-10-05 18:24:00 -04:00
2016-10-14 11:36:59 -07:00
2016-06-28 00:42:10 +02:00
2016-09-13 02:49:34 +02:00
2016-05-05 01:38:44 +02:00
2016-04-22 01:32:37 +02:00
2016-04-22 01:32:37 +02:00
2016-07-12 19:25:38 -07:00
2016-04-22 10:29:05 +02:00
2016-05-19 19:12:14 -07:00
2016-09-27 21:52:00 -04:00
2016-10-08 11:06:08 -04:00
2016-07-01 22:44:34 +02:00
2016-10-09 12:23:38 -07:00
2016-09-22 19:59:41 -05:00
2016-09-30 15:26:52 -07:00
2016-04-25 23:47:44 +02:00
2016-09-08 15:01:10 -07:00
2016-09-08 15:01:10 -07:00
2016-09-22 02:18:33 -04:00
2016-07-01 05:32:17 -04:00
2016-09-05 16:45:39 +02:00
2016-09-12 20:01:43 +01:00
2016-06-24 22:53:50 -05:00
2016-07-29 15:54:19 -07:00
2016-10-11 15:06:30 -07:00
2016-10-15 10:03:15 -07:00
2016-08-02 19:35:06 -04:00
2016-07-06 10:51:14 +01:00
2016-07-06 10:51:14 +01:00
2016-08-18 15:36:59 +02:00
2016-04-23 18:51:33 -04:00
2016-08-22 09:36:57 -07:00
2016-07-15 10:41:44 +02:00
2016-07-15 10:41:44 +02:00
2016-10-29 12:14:39 -06:00
2016-10-11 15:06:32 -07:00
2016-10-02 22:50:21 -07:00
2016-11-15 08:30:02 +01:00
2016-05-30 09:37:47 +02:00
2016-06-29 23:39:52 +02:00
2016-09-20 04:43:36 -04:00
2016-08-02 19:35:38 -04:00
2016-08-02 19:35:37 -04:00
2016-08-02 19:35:37 -04:00
2016-07-26 16:19:19 -07:00
2016-09-08 22:15:25 -07:00
2016-09-01 16:56:15 -07:00
2016-06-08 15:16:42 +02:00
2016-06-22 09:10:00 +01:00
2016-09-17 08:39:12 -06:00
2016-10-07 18:46:28 -07:00
2016-06-21 10:15:56 +01:00
2016-08-08 12:51:58 -07:00
2016-06-14 10:54:40 -07:00
2016-09-19 12:27:10 +10:00
2016-04-30 09:26:55 -07:00
2016-10-11 15:06:33 -07:00
2016-10-07 18:46:30 -07:00
2016-06-03 08:37:25 +02:00
2016-10-25 14:40:39 +02:00
2016-08-31 15:36:01 +02:00
2016-09-28 17:46:46 +02:00
2016-07-27 14:20:09 -07:00
2016-07-13 09:24:51 +02:00
2016-07-26 16:19:19 -07:00
2016-05-23 17:04:14 -07:00
2016-07-01 05:32:17 -04:00
2016-10-26 17:31:23 -04:00
2016-07-28 16:07:41 -07:00
2016-09-06 18:30:20 +02:00
2016-07-28 16:07:41 -07:00
2016-08-28 23:44:55 -04:00
2016-09-05 13:52:39 +02:00
2016-06-28 09:08:51 -04:00
2016-05-08 23:46:14 -04:00
2016-06-14 11:55:15 +02:00
2016-10-05 18:23:36 -04:00
2016-05-03 14:59:30 -07:00
2016-06-28 08:54:23 -04:00
2016-05-19 19:12:14 -07:00
2016-06-11 14:57:56 -07:00
2016-09-13 02:17:19 +02:00
2016-10-07 18:46:27 -07:00
2016-08-04 08:50:07 -04:00
2016-10-25 14:40:39 +02:00
2016-10-17 09:50:56 -07:00
2016-10-06 09:52:23 -07:00
2016-09-15 09:51:14 -04:00
2016-09-21 00:23:00 -04:00
2016-09-27 14:35:21 +08:00
2016-10-20 13:27:47 +02:00
2016-07-17 19:59:26 +02:00
2016-08-31 14:43:35 -07:00
2016-06-20 12:47:15 -07:00
2016-09-22 17:02:55 +02:00
2016-07-15 10:41:42 +02:00
2016-07-28 16:07:41 -07:00
2016-08-22 10:10:12 -07:00
2016-07-19 17:43:38 +03:00
2016-05-18 18:55:19 -07:00
2016-04-26 15:47:32 -07:00
2016-05-20 20:57:27 -07:00
2016-05-23 17:04:14 -07:00
2016-09-30 11:46:40 +02:00
2016-08-08 13:02:01 -07:00
2016-06-30 18:04:36 -05:00
2016-10-10 13:38:49 -07:00
2016-09-13 08:08:24 +02:00
2016-05-03 14:32:07 -07:00
2016-09-22 20:00:36 -05:00
2016-07-26 16:19:19 -07:00
2016-08-08 14:42:02 -05:00
2016-05-20 17:58:30 -07:00
2016-05-31 13:15:57 +02:00
2016-08-16 18:49:56 +02:00
2016-08-01 21:44:52 +03:00
2016-06-10 23:03:55 -07:00
2016-08-02 02:57:29 +03:00
2016-07-28 16:07:41 -07:00
2016-05-23 11:48:48 -07:00
2016-08-31 13:20:15 +02:00
2016-07-28 16:07:41 -07:00
2016-06-25 09:04:48 -07:00
2016-07-14 10:42:35 +02:00
2016-09-30 10:54:03 +02:00
2016-10-08 10:27:10 +02:00
2016-09-21 00:22:59 -04:00
2016-08-29 08:13:21 -06:00
2016-10-07 18:46:27 -07:00
2016-08-04 08:50:07 -04:00
2016-10-07 21:48:36 -04:00
2016-05-20 17:58:30 -07:00