static void free_fence_locked(struct vrend_fence *fence)
{
   list_del(&fence->fences);
   glDeleteSync(fence->syncobj);
   free(fence);
}

The product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.