On 5/15/19 11:50 AM, Leon Romanovsky wrote: > @@ -4089,11 +4093,15 @@ static struct srp_host *srp_add_port(struct srp_device *device, u8 port) > > host->dev.class = &srp_class; > host->dev.parent = device->dev->dev.parent; > - dev_set_name(&host->dev, "srp-%s-%d", dev_name(&device->dev->dev), > - port); > + devnum = find_first_zero_bit(dev_map, SRP_MAX_DEVICES); > + if (devnum >= SRP_MAX_DEVICES) > + goto free_host; > + set_bit(devnum, dev_map); > + host->devnum = devnum; > + dev_set_name(&host->dev, "srp%d", devnum); > > if (device_register(&host->dev)) > - goto free_host; > + goto free_num; > if (device_create_file(&host->dev, &dev_attr_add_target)) > goto err_class; > if (device_create_file(&host->dev, &dev_attr_ibdev)) Hi Leon, Thank you for having root-caused this issue. However, this patch modifies the ABI between kernel and user space and hence breaks at least srp_daemon and blktests. Are you aware it is considered completely unacceptable in the Linux community to break user space? You may have noticed that the SRP sysfs ABI has been documented in Documentation/ABI/stable/sysfs-driver-ib_srp. Bart.