s390/ipl: Fix incorrect initialization of len fields in nvme reipl block
authorAlexander Egorenkov <egorenar@linux.ibm.com>
Fri, 10 May 2024 10:41:25 +0000 (12:41 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Tue, 14 May 2024 18:21:54 +0000 (20:21 +0200)
Use correct symbolic constants IPL_BP_NVME_LEN and IPL_BP0_NVME_LEN
to initialize nvme reipl block when 'scp_data' sysfs attribute is
being updated. This bug had not been detected before because
the corresponding fcp and nvme symbolic constants are equal.

Fixes: 23a457b8d57d ("s390: nvme reipl")
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/kernel/ipl.c

index f78c40e2b6317e34979c0e6e202d0fc42508fbef..73d09cd4c6b00ad964791f0eed06ca7dab6c1984 100644 (file)
@@ -966,8 +966,8 @@ static ssize_t reipl_nvme_scpdata_write(struct file *filp, struct kobject *kobj,
                scpdata_len += padding;
        }
 
-       reipl_block_nvme->hdr.len = IPL_BP_FCP_LEN + scpdata_len;
-       reipl_block_nvme->nvme.len = IPL_BP0_FCP_LEN + scpdata_len;
+       reipl_block_nvme->hdr.len = IPL_BP_NVME_LEN + scpdata_len;
+       reipl_block_nvme->nvme.len = IPL_BP0_NVME_LEN + scpdata_len;
        reipl_block_nvme->nvme.scp_data_len = scpdata_len;
 
        return count;