search for: u32_max

Displaying 20 results from an estimated 47 matches for "u32_max".

2023 May 10
3
[PATCH] virtio_ring: use u32 for virtio_max_dma_size
Both split ring and packed ring use 32bits to describe the length of a descriptor: see struct vring_desc and struct vring_packed_desc. This means the max segment size supported by virtio is U32_MAX. An example of virtio_max_dma_size in virtio_blk.c: u32 v, max_size; max_size = virtio_max_dma_size(vdev); -> implicit convert err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SIZE_MAX, struct virtio_blk_config, size_max, &v); max_size = min(max_size, v);...
2023 May 10
2
[PATCH] virtio_ring: use u32 for virtio_max_dma_size
On Wed, 10 May 2023 10:54:37 +0800, zhenwei pi <pizhenwei at bytedance.com> wrote: > Both split ring and packed ring use 32bits to describe the length of > a descriptor: see struct vring_desc and struct vring_packed_desc. > This means the max segment size supported by virtio is U32_MAX. > > An example of virtio_max_dma_size in virtio_blk.c: > u32 v, max_size; > > max_size = virtio_max_dma_size(vdev); -> implicit convert > err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SIZE_MAX, > struct virtio_blk_config, size_max, &v...
2023 Sep 04
1
[PATCH] virtio-blk: fix implicit overflow on virtio_max_dma_size
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 at bytedance.com> --- drivers/block/virtio_blk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index 1fe011676d07..4a4b9bad551e 100644 --- a/drivers/bl...
2023 May 10
1
[PATCH] virtio_ring: use u32 for virtio_max_dma_size
On Wed, May 10, 2023 at 10:54:37AM +0800, zhenwei pi wrote: > Both split ring and packed ring use 32bits to describe the length of > a descriptor: see struct vring_desc and struct vring_packed_desc. > This means the max segment size supported by virtio is U32_MAX. > > An example of virtio_max_dma_size in virtio_blk.c: > u32 v, max_size; > > max_size = virtio_max_dma_size(vdev); -> implicit convert > err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SIZE_MAX, > struct virtio_blk_config, size_max, &amp...
2023 Jul 04
1
[PATCH] virtio_ring: use u32 for virtio_max_dma_size
On Wed, May 10, 2023 at 10:54:37AM +0800, zhenwei pi wrote: > Both split ring and packed ring use 32bits to describe the length of > a descriptor: see struct vring_desc and struct vring_packed_desc. > This means the max segment size supported by virtio is U32_MAX. > > An example of virtio_max_dma_size in virtio_blk.c: > u32 v, max_size; > > max_size = virtio_max_dma_size(vdev); -> implicit convert > err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SIZE_MAX, > struct virtio_blk_config, size_max, &amp...
2023 May 10
1
[PATCH] virtio_ring: use u32 for virtio_max_dma_size
...0 May 2023 10:54:37 +0800, zhenwei pi <pizhenwei at bytedance.com> wrote: > > Both split ring and packed ring use 32bits to describe the length of > > a descriptor: see struct vring_desc and struct vring_packed_desc. > > This means the max segment size supported by virtio is U32_MAX. > > > > An example of virtio_max_dma_size in virtio_blk.c: > > u32 v, max_size; > > > > max_size = virtio_max_dma_size(vdev); -> implicit convert > > err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SIZE_MAX, > > struct...
2023 May 10
1
[PATCH] virtio_ring: use u32 for virtio_max_dma_size
...4:37 +0800, zhenwei pi <pizhenwei at bytedance.com> wrote: > > > Both split ring and packed ring use 32bits to describe the length of > > > a descriptor: see struct vring_desc and struct vring_packed_desc. > > > This means the max segment size supported by virtio is U32_MAX. > > > > > > An example of virtio_max_dma_size in virtio_blk.c: > > > u32 v, max_size; > > > > > > max_size = virtio_max_dma_size(vdev); -> implicit convert > > > err = virtio_cread_feature(vdev, VIRTIO_BLK_F_SIZE_MAX, > > >...
2019 May 24
0
[PATCH] VMCI: Fix integer overflow in VMCI handle arrays
...RAY_HEADER_SIZE \ + offsetof(struct vmci_handle_arr, entries) +/* Select a default capacity that results in a 64 byte sized array */ +#define VMCI_HANDLE_ARRAY_DEFAULT_CAPACITY 6 +/* Make sure that the max array size can be expressed by a u32 */ +#define VMCI_HANDLE_ARRAY_MAX_CAPACITY \ + ((U32_MAX - VMCI_HANDLE_ARRAY_HEADER_SIZE - 1) / \ + sizeof(struct vmci_handle)) + +struct vmci_handle_arr *vmci_handle_arr_create(u32 capacity, u32 max_capacity); void vmci_handle_arr_destroy(struct vmci_handle_arr *array); -void vmci_handle_arr_append_entry(struct vmci_handle_arr **array_ptr, - struc...
2019 Oct 14
0
[PATCH 03/25] crypto: virtio - switch to skcipher API
...TO_SYM_OP_CIPHER); req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(ivsize); req_data->u.sym_req.u.cipher.para.src_data_len = - cpu_to_le32(req->nbytes); + cpu_to_le32(req->cryptlen); dst_len = virtio_crypto_alg_sg_nents_length(req->dst); if (unlikely(dst_len > U32_MAX)) { @@ -406,9 +407,9 @@ __virtio_crypto_ablkcipher_do_req(struct virtio_crypto_sym_request *vc_sym_req, } pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", - req->nbytes, dst_len); + req->cryptlen, dst_len); - if (unlikely(req->nbytes + dst_len + ivsize + + if (...
2019 Oct 24
0
[PATCH v2 03/27] crypto: virtio - switch to skcipher API
...TO_SYM_OP_CIPHER); req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(ivsize); req_data->u.sym_req.u.cipher.para.src_data_len = - cpu_to_le32(req->nbytes); + cpu_to_le32(req->cryptlen); dst_len = virtio_crypto_alg_sg_nents_length(req->dst); if (unlikely(dst_len > U32_MAX)) { @@ -406,9 +407,9 @@ __virtio_crypto_ablkcipher_do_req(struct virtio_crypto_sym_request *vc_sym_req, } pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", - req->nbytes, dst_len); + req->cryptlen, dst_len); - if (unlikely(req->nbytes + dst_len + ivsize + + if (...
2016 Nov 27
2
[PATCH v2 2/2] crypto: add virtio-crypto driver
...SYM_OP_CIPHER); > + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(AES_BLOCK_SIZE); > + req_data->u.sym_req.u.cipher.para.src_data_len = > + cpu_to_le32(req->nbytes); > + > + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); > + if (unlikely(dst_len > U32_MAX)) { > + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); > + err = -EINVAL; > + goto free; > + } > + > + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", > + req->nbytes, dst_len); > + > + if (unlikely(req->nbytes + dst_len +...
2016 Nov 27
2
[PATCH v2 2/2] crypto: add virtio-crypto driver
...SYM_OP_CIPHER); > + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(AES_BLOCK_SIZE); > + req_data->u.sym_req.u.cipher.para.src_data_len = > + cpu_to_le32(req->nbytes); > + > + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); > + if (unlikely(dst_len > U32_MAX)) { > + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); > + err = -EINVAL; > + goto free; > + } > + > + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", > + req->nbytes, dst_len); > + > + if (unlikely(req->nbytes + dst_len +...
2016 Nov 28
0
[virtio-dev] Re: [PATCH v2 2/2] crypto: add virtio-crypto driver
...a->u.sym_req.u.cipher.para.iv_len = > cpu_to_le32(AES_BLOCK_SIZE); > > + req_data->u.sym_req.u.cipher.para.src_data_len = > > + cpu_to_le32(req->nbytes); > > + > > + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); > > + if (unlikely(dst_len > U32_MAX)) { > > + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); > > + err = -EINVAL; > > + goto free; > > + } > > + > > + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", > > + req->nbytes, dst_len); > > + > &...
2016 Nov 22
0
[PATCH v2 2/2] crypto: add virtio-crypto driver
...e = cpu_to_le32(VIRTIO_CRYPTO_SYM_OP_CIPHER); + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(AES_BLOCK_SIZE); + req_data->u.sym_req.u.cipher.para.src_data_len = + cpu_to_le32(req->nbytes); + + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); + if (unlikely(dst_len > U32_MAX)) { + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); + err = -EINVAL; + goto free; + } + + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", + req->nbytes, dst_len); + + if (unlikely(req->nbytes + dst_len + AES_BLOCK_SIZE + + sizeof(vc_req->status...
2016 Nov 28
0
[PATCH v3] crypto: add virtio-crypto driver
...e = cpu_to_le32(VIRTIO_CRYPTO_SYM_OP_CIPHER); + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(AES_BLOCK_SIZE); + req_data->u.sym_req.u.cipher.para.src_data_len = + cpu_to_le32(req->nbytes); + + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); + if (unlikely(dst_len > U32_MAX)) { + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); + err = -EINVAL; + goto free; + } + + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", + req->nbytes, dst_len); + + if (unlikely(req->nbytes + dst_len + AES_BLOCK_SIZE + + sizeof(vc_req->status...
2016 Nov 29
0
[PATCH v4 1/1] crypto: add virtio-crypto driver
...e = cpu_to_le32(VIRTIO_CRYPTO_SYM_OP_CIPHER); + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(AES_BLOCK_SIZE); + req_data->u.sym_req.u.cipher.para.src_data_len = + cpu_to_le32(req->nbytes); + + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); + if (unlikely(dst_len > U32_MAX)) { + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); + err = -EINVAL; + goto free; + } + + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", + req->nbytes, dst_len); + + if (unlikely(req->nbytes + dst_len + AES_BLOCK_SIZE + + sizeof(vc_req->status...
2016 Nov 28
5
[PATCH v3] crypto: add virtio-crypto driver
...SYM_OP_CIPHER); > + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(AES_BLOCK_SIZE); > + req_data->u.sym_req.u.cipher.para.src_data_len = > + cpu_to_le32(req->nbytes); > + > + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); > + if (unlikely(dst_len > U32_MAX)) { > + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); > + err = -EINVAL; > + goto free; > + } > + > + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", > + req->nbytes, dst_len); > + > + if (unlikely(req->nbytes + dst_len +...
2016 Nov 28
5
[PATCH v3] crypto: add virtio-crypto driver
...SYM_OP_CIPHER); > + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(AES_BLOCK_SIZE); > + req_data->u.sym_req.u.cipher.para.src_data_len = > + cpu_to_le32(req->nbytes); > + > + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); > + if (unlikely(dst_len > U32_MAX)) { > + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); > + err = -EINVAL; > + goto free; > + } > + > + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", > + req->nbytes, dst_len); > + > + if (unlikely(req->nbytes + dst_len +...
2016 Dec 01
0
[PATCH v5 1/1] crypto: add virtio-crypto driver
...q.op_type = cpu_to_le32(VIRTIO_CRYPTO_SYM_OP_CIPHER); + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(ivsize); + req_data->u.sym_req.u.cipher.para.src_data_len = + cpu_to_le32(req->nbytes); + + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); + if (unlikely(dst_len > U32_MAX)) { + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); + err = -EINVAL; + goto free; + } + + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", + req->nbytes, dst_len); + + if (unlikely(req->nbytes + dst_len + ivsize + + sizeof(vc_req->status) > v...
2016 Dec 08
0
[PATCH v6 2/2] crypto: add virtio-crypto driver
...q.op_type = cpu_to_le32(VIRTIO_CRYPTO_SYM_OP_CIPHER); + req_data->u.sym_req.u.cipher.para.iv_len = cpu_to_le32(ivsize); + req_data->u.sym_req.u.cipher.para.src_data_len = + cpu_to_le32(req->nbytes); + + dst_len = virtio_crypto_alg_sg_nents_length(req->dst); + if (unlikely(dst_len > U32_MAX)) { + pr_err("virtio_crypto: The dst_len is beyond U32_MAX\n"); + err = -EINVAL; + goto free; + } + + pr_debug("virtio_crypto: src_len: %u, dst_len: %llu\n", + req->nbytes, dst_len); + + if (unlikely(req->nbytes + dst_len + ivsize + + sizeof(vc_req->status) > v...