Return -EBUSY on VM_UNBIND if a user_fence following VM_BIND of the same VMA isnt's signaled on LR VMs
To be able to hook up user-space programs, like a debugger, blocking signalling of user fences after VM_BIND, we want to keep the VMA alive for access from the user-space program until the user_fence has signaled. Hence returning -EBUSY at that point to help user-space avoid shooting itself in the foot. Similarly return -EINVAL if a BIND followed by UNBIND happens within a single operation array for the same reason. This is for LR VMs only. Compute UMD already adheres to this, and this would be for compute clients keeping it that way.
@mbrost, @ifdu Any comments or issues with this?
@dolphin Would it in theory be possible to copy attach needed VMA state to the KMD user-fence structure?