On Tue, 24 Mar 2020 at 11:18, Marcel Apfelbaum
<address@hidden> wrote:
>
> Hi Peter,Yuval
>
> On 3/24/20 1:05 PM, Peter Maydell wrote:
> > So I think we require that the user of a protected-qlist
> > ensures that there are no more users of it before it is
> > destroyed (which is fairly normal semantics), and the code
> > as it stands is correct (ie coverity false-positive).
>
> I agree is a false positive for our case.
> "rdma_protected_qlist_destroy" is called by "mad_fini" which in turn is
> called by "rdma_backend_fini"
> *after* the VM shutdown, at this point there is no active lock user.
Also, the function coverity queried was rdma_protected_gslist_destroy(),
not rdma_protected_qlist_destroy().
Yeah but pattern is the same, if we agree to threat it as false-positive then it applies to the two cases.
I notice that the gslist_destroy function does not destroy
the mutex -- is this an intentional difference ?
No - it is a bug!
thanks
-- PMM