]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
s390/ipl: Fix incorrect initialization of nvme dump block
authorAlexander Egorenkov <egorenar@linux.ibm.com>
Fri, 10 May 2024 10:41:26 +0000 (12:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 16 Jun 2024 11:39:41 +0000 (13:39 +0200)
[ Upstream commit 7faacaeaf6ce12fae78751de5ad869d8f1e1cd7a ]

Initialize the correct fields of the nvme dump block.
This bug had not been detected before because first, the fcp and nvme fields
of struct ipl_parameter_block are part of the same union and, therefore,
overlap in memory and second, they are identical in structure and size.

Fixes: d70e38cb1dee ("s390: nvme dump support")
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 77246ff5b0141cf700c23890c2399e3a18186b64..d2ba82873abfd474ab2bf9306e7d8c1c84cf9d4a 100644 (file)
@@ -1603,9 +1603,9 @@ static int __init dump_nvme_init(void)
        }
        dump_block_nvme->hdr.len = IPL_BP_NVME_LEN;
        dump_block_nvme->hdr.version = IPL_PARM_BLOCK_VERSION;
-       dump_block_nvme->fcp.len = IPL_BP0_NVME_LEN;
-       dump_block_nvme->fcp.pbt = IPL_PBT_NVME;
-       dump_block_nvme->fcp.opt = IPL_PB0_NVME_OPT_DUMP;
+       dump_block_nvme->nvme.len = IPL_BP0_NVME_LEN;
+       dump_block_nvme->nvme.pbt = IPL_PBT_NVME;
+       dump_block_nvme->nvme.opt = IPL_PB0_NVME_OPT_DUMP;
        dump_capabilities |= DUMP_TYPE_NVME;
        return 0;
 }