On 6/13/22 7:38 AM, Sergey Gorenko wrote: > The kernel returns an endpoint ID as r.ep_connect_ret.handle in the > iscsi_uevent. The iscsid validates a received endpoint ID and treats > zero as an error. The commit referenced in the fixes line changed the > endpoint ID range, and zero is always assigned to the first endpoint ID. > So, the first attempt to create a new iSER connection always fails. > > Fixes: 3c6ae371b8a1 ("scsi: iscsi: Release endpoint ID when its freed") > Reviewed-by: Max Gurtovoy <mgurtovoy@xxxxxxxxxx> > Signed-off-by: Sergey Gorenko <sergeygo@xxxxxxxxxx> > --- > drivers/scsi/scsi_transport_iscsi.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c > index 2c0dd64159b0..5d21f07456c6 100644 > --- a/drivers/scsi/scsi_transport_iscsi.c > +++ b/drivers/scsi/scsi_transport_iscsi.c > @@ -212,7 +212,12 @@ iscsi_create_endpoint(int dd_size) > return NULL; > > mutex_lock(&iscsi_ep_idr_mutex); > - id = idr_alloc(&iscsi_ep_idr, ep, 0, -1, GFP_NOIO); > + > + /* > + * First endpoint id should be 1 to comply with user space > + * applications (iscsid). > + */ > + id = idr_alloc(&iscsi_ep_idr, ep, 1, -1, GFP_NOIO); > if (id < 0) { > mutex_unlock(&iscsi_ep_idr_mutex); > printk(KERN_ERR "Could not allocate endpoint ID. Error %d.\n", Varun submitted a similar patch yesterday: https://lore.kernel.org/all/20220612121901.6897-1-varun@xxxxxxxxxxx/T/ Your patch is nicer, because it has the comment about userspace. Let's go with the patch in this email. Reviewed-by: Mike Christie <michael.christie@xxxxxxxxxx>