]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Jun 2024 11:32:21 +0000 (13:32 +0200)
[ Upstream commit 9c922b73acaf39f867668d9cbe5dc69c23511f84 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/ipl.c

index c469e8848d659d1d7be24d51950ebefdfed3ca8f..ab23742088d05a25746d9260daa6361ca32bb069 100644 (file)
@@ -832,8 +832,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;