On Tue, Apr 04, 2017 at 10:16:58AM -0700, Dick Kennedy wrote: > From: Dick Kennedy <rkennedy@xxxxxxxxxxxxxxxxxxxxxxxxxxx> > > Two issues: (1) driver could not be unloaded and > reloaded without some Oops or Panic occurring. (2) The > driver was panicking because of a corruption in the Memory > Manager when the iocb list was getting allocated. > > Root cause for the memory corruption was a double > free of the Work Queue ring pointer memory - Freed once > in the lpfc_sli4_queue_free when the CQ was destroyed > and again in lpfc_sli4_queue_free when the WQ was > destroyed. While the linux memory manager protects > against NULL pointers, it can't protect against stale > pointer kfree calls. > > There are other fixes in this patch found during testing. > While they are not a direct corruption cause, they should > be fixed to ensure consistent unload/reload. > > Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx> > Signed-off-by: James Smart <james.smart@xxxxxxxxxxxx> > --- Is this the regression Junichi Nomura reported? If yes please Cc him to get a test result (plus proper Reported-by: attribution). Note there was also a fix from Mauricio Faria de Oliveira [1] which IIRC Junichi successfully tested. [1] http://www.spinics.net/lists/linux-scsi/msg106877.html -- Johannes Thumshirn Storage jthumshirn@xxxxxxx +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850