Skip to content
Commit 0f50d88a authored by Jason Gunthorpe's avatar Jason Gunthorpe
Browse files

IB/uverbs: Allow all DESTROY commands to succeed after disassociate



The disassociate function was broken by design because it failed all
commands. This prevents userspace from calling destroy on a uobject after
it has detected a device fatal error and thus reclaiming the resources in
userspace is prevented.

This fix is now straightforward, when anything destroys a uobject that is
not the user the object remains on the IDR with a NULL context and object
pointer. All lookup locking modes other than DESTROY will fail. When the
user ultimately calls the destroy function it is simply dropped from the
IDR while any related information is returned.

Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent a9b66d64
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment