Commit 8cbdc5ff authored by James.Smart@Emulex.Com's avatar James.Smart@Emulex.Com Committed by James Bottomley

[SCSI] lpfc driver 8.0.30 : fix lip/cablepull panic

Fix panic on lip and cable pull

Symptoms: Panic on lip or cable pull

Cause: Use after free of nlp in lpfc_nlp_remove()

Fix: Do not make FC transport calls after a node is removed. Transport
calls are disabled by ignoring the initial delete transition.
Signed-off-by: default avatarJames Smart <James.Smart@emulex.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 483f05f0
...@@ -1135,6 +1135,8 @@ lpfc_nlp_list(struct lpfc_hba * phba, struct lpfc_nodelist * nlp, int list) ...@@ -1135,6 +1135,8 @@ lpfc_nlp_list(struct lpfc_hba * phba, struct lpfc_nodelist * nlp, int list)
switch(list) { switch(list) {
case NLP_NO_LIST: /* No list, just remove it */ case NLP_NO_LIST: /* No list, just remove it */
lpfc_nlp_remove(phba, nlp); lpfc_nlp_remove(phba, nlp);
/* as node removed - stop further transport calls */
rport_del = none;
break; break;
case NLP_UNUSED_LIST: case NLP_UNUSED_LIST:
spin_lock_irq(phba->host->host_lock); spin_lock_irq(phba->host->host_lock);
......
Markdown is supported
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