lkml.org 
[lkml]   [2020]   [May]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 101/117] scsi: target: fix PR IN / READ FULL STATUS for FC
    Date
    From: Bodo Stroesser <bstroesser@ts.fujitsu.com>

    [ Upstream commit 8fed04eb79a74cbf471dfaa755900a51b37273ab ]

    Creation of the response to READ FULL STATUS fails for FC based
    reservations. Reason is the too high loop limit (< 24) in
    fc_get_pr_transport_id(). The string representation of FC WWPN is 23 chars
    long only ("11:22:33:44:55:66:77:88"). So when i is 23, the loop body is
    executed a last time for the ending '\0' of the string and thus hex2bin()
    reports an error.

    Link: https://lore.kernel.org/r/20200408132610.14623-3-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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/target/target_core_fabric_lib.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/target/target_core_fabric_lib.c b/drivers/target/target_core_fabric_lib.c
    index 95aa47ac4dcd2..f8621fe673767 100644
    --- a/drivers/target/target_core_fabric_lib.c
    +++ b/drivers/target/target_core_fabric_lib.c
    @@ -76,7 +76,7 @@ static int fc_get_pr_transport_id(
    * encoded TransportID.
    */
    ptr = &se_nacl->initiatorname[0];
    - for (i = 0; i < 24; ) {
    + for (i = 0; i < 23; ) {
    if (!strncmp(&ptr[i], ":", 1)) {
    i++;
    continue;
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-05-01 15:55    [W:4.053 / U:0.988 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site