Patch "scsi: iscsi: Exclude zero from the endpoint ID range" has been added to the 5.15-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    scsi: iscsi: Exclude zero from the endpoint ID range

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     scsi-iscsi-exclude-zero-from-the-endpoint-id-range.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 93d2e7f8fb638ad679b84496acdea230c5db22b0
Author: Sergey Gorenko <sergeygo@xxxxxxxxxx>
Date:   Mon Jun 13 15:38:54 2022 +0300

    scsi: iscsi: Exclude zero from the endpoint ID range
    
    [ Upstream commit f6eed15f3ea76596ccc689331e1cc850b999133b ]
    
    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.
    
    Link: https://lore.kernel.org/r/20220613123854.55073-1-sergeygo@xxxxxxxxxx
    Fixes: 3c6ae371b8a1 ("scsi: iscsi: Release endpoint ID when its freed")
    Reviewed-by: Max Gurtovoy <mgurtovoy@xxxxxxxxxx>
    Reviewed-by: Mike Christie <michael.christie@xxxxxxxxxx>
    Reviewed-by: Lee Duncan <lduncan@xxxxxxxx>
    Signed-off-by: Sergey Gorenko <sergeygo@xxxxxxxxxx>
    Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index bcdfcb25349a..5947b9d5746e 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -213,7 +213,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",



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux