lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 22 Sep 2016 15:19:00 +0200 From: Frank Haverkamp <haver@...ux.vnet.ibm.com> To: Sebastian Ott <sebott@...ux.vnet.ibm.com> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, linux-kernel@...r.kernel.org Subject: Re: [PATCH] misc/genwqe: ensure zero initialization Hi Sebastian, > On 12.09.2016, at 20:09, Sebastian Ott <sebott@...ux.vnet.ibm.com> wrote: > > > 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. Thanks for figuring this out. I hope you found all spots where this misassumption is done. > > Signed-off-by: Sebastian Ott <sebott@...ux.vnet.ibm.com> > --- > drivers/misc/genwqe/card_ddcb.c | 2 -- > drivers/misc/genwqe/card_utils.c | 4 ++-- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/misc/genwqe/card_ddcb.c b/drivers/misc/genwqe/card_ddcb.c > index 353ee0c..ddfeefe 100644 > --- a/drivers/misc/genwqe/card_ddcb.c > +++ b/drivers/misc/genwqe/card_ddcb.c > @@ -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) { > diff --git a/drivers/misc/genwqe/card_utils.c b/drivers/misc/genwqe/card_utils.c > index 222367c..8a679ec 100644 > --- a/drivers/misc/genwqe/card_utils.c > +++ b/drivers/misc/genwqe/card_utils.c > @@ -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, > -- > 2.5.5 > I think this should be fine. Signed-off-by: Frank Haverkamp <haver@...ux.vnet.ibm.com>
Powered by blists - more mailing lists