misc/genwqe: ensure zero initialization
Genwqe uses dma_alloc_coherent and depends on zero initialized memory. On one occasion it ueses an explicit memset on others it uses un-initialized memory. This bug was covered because some archs actually return zero initialized memory when using dma_alloc_coherent but this is by no means guaranteed. Simply switch to dma_zalloc_coherent. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Frank Haverkamp <haver@linux.vnet.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
db08948b97
commit
13decfb438
2 changed files with 2 additions and 4 deletions
|
@ -1048,8 +1048,6 @@ static int setup_ddcb_queue(struct genwqe_dev *cd, struct ddcb_queue *queue)
|
|||
"[%s] **err: could not allocate DDCB **\n", __func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(queue->ddcb_vaddr, 0, queue_size);
|
||||
|
||||
queue->ddcb_req = kzalloc(sizeof(struct ddcb_requ *) *
|
||||
queue->ddcb_max, GFP_KERNEL);
|
||||
if (!queue->ddcb_req) {
|
||||
|
|
|
@ -220,8 +220,8 @@ void *__genwqe_alloc_consistent(struct genwqe_dev *cd, size_t size,
|
|||
if (get_order(size) > MAX_ORDER)
|
||||
return NULL;
|
||||
|
||||
return dma_alloc_coherent(&cd->pci_dev->dev, size, dma_handle,
|
||||
GFP_KERNEL);
|
||||
return dma_zalloc_coherent(&cd->pci_dev->dev, size, dma_handle,
|
||||
GFP_KERNEL);
|
||||
}
|
||||
|
||||
void __genwqe_free_consistent(struct genwqe_dev *cd, size_t size,
|
||||
|
|
Loading…
Reference in a new issue