virtio-blk: fix implicit overflow on virtio_max_dma_size
authorzhenwei pi <pizhenwei@bytedance.com>
Mon, 4 Sep 2023 06:10:45 +0000 (14:10 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:46 +0000 (17:19 +0000)
commitd667fe301dcbcb12d1d6494fc4b8abee2cb75d90
tree7ab5d89c930181f9f6560542f1fa1176c4a498e5
parenta5a583fbb002ae8115f53f8ec364f22c7aa40442
virtio-blk: fix implicit overflow on virtio_max_dma_size

[ Upstream commit fafb51a67fb883eb2dde352539df939a251851be ]

The following codes have an implicit conversion from size_t to u32:
(u32)max_size = (size_t)virtio_max_dma_size(vdev);

This may lead overflow, Ex (size_t)4G -> (u32)0. Once
virtio_max_dma_size() has a larger size than U32_MAX, use U32_MAX
instead.

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Message-Id: <20230904061045.510460-1-pizhenwei@bytedance.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/block/virtio_blk.c