cxl/cxl-mailbox-utils: Fix size check for cmd_firmware_update_get_info
In the function cmd_firmware_update_get_info for handling Get FW info command (0x0200h), the vmem, pmem and DC capacity size check were incorrect. The size should be aligned to 256MiB, not smaller than 256MiB. Signed-off-by: Fan Ni <fan.ni@samsung.com> Reviewed-by: Davidlohr Bueso <dave@stgolabs.net> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Message-Id: <20241101132005.26633-2-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
		
				
					committed by
					
						
						Michael S. Tsirkin
					
				
			
			
				
	
			
			
			
						parent
						
							449dca6ac9
						
					
				
				
					commit
					0564019bf1
				
			@@ -649,9 +649,9 @@ static CXLRetCode cmd_firmware_update_get_info(const struct cxl_cmd *cmd,
 | 
			
		||||
    } QEMU_PACKED *fw_info;
 | 
			
		||||
    QEMU_BUILD_BUG_ON(sizeof(*fw_info) != 0x50);
 | 
			
		||||
 | 
			
		||||
    if ((cxl_dstate->vmem_size < CXL_CAPACITY_MULTIPLIER) ||
 | 
			
		||||
        (cxl_dstate->pmem_size < CXL_CAPACITY_MULTIPLIER) ||
 | 
			
		||||
        (ct3d->dc.total_capacity < CXL_CAPACITY_MULTIPLIER)) {
 | 
			
		||||
    if (!QEMU_IS_ALIGNED(cxl_dstate->vmem_size, CXL_CAPACITY_MULTIPLIER) ||
 | 
			
		||||
        !QEMU_IS_ALIGNED(cxl_dstate->pmem_size, CXL_CAPACITY_MULTIPLIER) ||
 | 
			
		||||
        !QEMU_IS_ALIGNED(ct3d->dc.total_capacity, CXL_CAPACITY_MULTIPLIER)) {
 | 
			
		||||
        return CXL_MBOX_INTERNAL_ERROR;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user