On 6/2/21 3:30 PM, Ming Lei wrote: > scsi_host_dev_release() only works around for us by freeing > dev_name(&shost->shost_dev) when host state is SHOST_CREATED. After host > state is changed to SHOST_RUNNING, scsi_host_dev_release() doesn't do > that any more. > > So fix the issue by put .shost_dev in failure path if host state becomes > running, meantime move get_device(&shost->shost_gendev) before > device_add(&shost->shost_dev), so that scsi_host_cls_release() can put > this reference. > > Reported-by: John Garry <john.garry@xxxxxxxxxx> > Cc: Bart Van Assche <bvanassche@xxxxxxx> > Cc: Hannes Reinecke <hare@xxxxxxx> > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > --- > drivers/scsi/hosts.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions Germany GmbH, 90409 Nürnberg GF: F. Imendörffer, HRB 36809 (AG Nürnberg)