mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
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
@ -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 New Issue
Block a user