Commit 63a81588 authored by Chuck Lever's avatar Chuck Lever
Browse files

rpcrdma: Always release the rpcrdma_device's xa_array



Dai pointed out that the xa_init_flags() in rpcrdma_add_one() needs
to have a matching xa_destroy() in rpcrdma_remove_one() to release
underlying memory that the xarray might have accrued during
operation.

Reported-by: default avatarDai Ngo <dai.ngo@oracle.com>
Fixes: 7e86845a ("rpcrdma: Implement generic device removal")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 8286f8b6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -153,6 +153,7 @@ static void rpcrdma_remove_one(struct ib_device *device,
	}

	trace_rpcrdma_client_remove_one_done(device);
	xa_destroy(&rd->rd_xa);
	kfree(rd);
}