Re: [PATCH] scsi: iscsi: Exclude zero from the endpoint ID range

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux