scsi: target: Write NULL to *port_nexus_ptr if no ISID
authorBodo Stroesser <bstroesser@ts.fujitsu.com>
Wed, 8 Apr 2020 13:26:09 +0000 (15:26 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 13 Apr 2020 18:00:40 +0000 (14:00 -0400)
This patch fixes a minor flaw that could be triggered by a PR OUT RESERVE
on iSCSI, if TRANSPORT IDs with and without ISID are used in the same
command.  In case an ISCSI Transport ID has no ISID, port_nexus_ptr was not
used to write NULL, so value from previous call might persist.  I don't
know if that ever could happen, but with the change the code is cleaner, I
think.

Link: https://lore.kernel.org/r/20200408132610.14623-2-bstroesser@ts.fujitsu.com
Signed-off-by: Bodo Stroesser <bstroesser@ts.fujitsu.com>
Reviewed-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_fabric_lib.c

index 6b4b354c88aa09d100b77bc6b1f4cf2dfb0929be..f5f673e128efd553f8053c4923a500f36b32bc0d 100644 (file)
@@ -341,7 +341,8 @@ static char *iscsi_parse_pr_out_transport_id(
                        *p = tolower(*p);
                        p++;
                }
-       }
+       } else
+               *port_nexus_ptr = NULL;
 
        return &buf[4];
 }