mirror of https://gitee.com/openkylin/qemu.git
nbd/server: add additional assert to nbd_export_put
This place is not obvious, nbd_export_close may theoretically reduce refcount to 0. It may happen if someone calls nbd_export_put on named export not through nbd_export_set_name when refcount is 1. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-Id: <20171207155102.66622-2-vsementsov@virtuozzo.com> Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
3cee4db661
commit
9156245ec4
|
@ -1190,6 +1190,12 @@ void nbd_export_put(NBDExport *exp)
|
|||
nbd_export_close(exp);
|
||||
}
|
||||
|
||||
/* nbd_export_close() may theoretically reduce refcount to 0. It may happen
|
||||
* if someone calls nbd_export_put() on named export not through
|
||||
* nbd_export_set_name() when refcount is 1. So, let's assert that
|
||||
* it is > 0.
|
||||
*/
|
||||
assert(exp->refcount > 0);
|
||||
if (--exp->refcount == 0) {
|
||||
assert(exp->name == NULL);
|
||||
assert(exp->description == NULL);
|
||||
|
|
Loading…
Reference in New Issue