scsi: libfc: Add WARN_ON() when deleting rports
The discovery rport list handling is quite odd; the list traversal is independent from the lifetime of the rport itself. This makes auditing quite tricky, and the chance remains that we've missed something. So this patch adds a WARN_ON() statement when freeing an rport which is still part of a list. Signed-off-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Родитель
bc3d12b754
Коммит
bbc0f8bd88
|
@ -184,6 +184,7 @@ void fc_rport_destroy(struct kref *kref)
|
||||||
struct fc_rport_priv *rdata;
|
struct fc_rport_priv *rdata;
|
||||||
|
|
||||||
rdata = container_of(kref, struct fc_rport_priv, kref);
|
rdata = container_of(kref, struct fc_rport_priv, kref);
|
||||||
|
WARN_ON(!list_empty(&rdata->peers));
|
||||||
kfree_rcu(rdata, rcu);
|
kfree_rcu(rdata, rcu);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(fc_rport_destroy);
|
EXPORT_SYMBOL(fc_rport_destroy);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче