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: Mon, 5 Apr 2010 13:52:02 +0530 From: Sathya Perla <sathyap@...verengines.com> To: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp> Cc: sathyap@...verengines.com, subbus@...verengines.com, sarveshwarb@...verengines.com, ajitk@...verengines.com, netdev@...r.kernel.org Subject: Re: [PATCH 2/2] benet: fix the misusage of zero dma address On 05/04/10 16:40 +0900, FUJITA Tomonori wrote: > > > + wrb->frag_len = 0; > > Why does wrb->frag_len need to be reset here? > > In the TX path, it is set to the proper value for data wrbs and zero > > for dummy and hdr wrbs. > > I guess that I misunderstood why unmap_tx_frag() checks a dma address. > The checking is necessary to avoid calling pci_unamp_* API for dummy > hdr wrbs? Yes. > > Anyway, if wrb->frag_len doesn't need to be reset here, the following > patch is ok? Yes. Thanks. Acked-by: Sathya Perla <sathyap@...verengines.com> > > = > From: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp> > Subject: [PATCH v2 2/2] benet: fix the misusage of zero dma address > > benet driver wrongly assumes that zero is an invalid dma address > (calls dma_unmap_page for only non zero dma addresses). Zero is a > valid dma address on some architectures. The dma length can be used > here. > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp> > --- > drivers/net/benet/be_main.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c > index a27a0a1..c95e1a2 100644 > --- a/drivers/net/benet/be_main.c > +++ b/drivers/net/benet/be_main.c > @@ -404,7 +404,7 @@ static void unmap_tx_frag(struct pci_dev *pdev, struct be_eth_wrb *wrb, > be_dws_le_to_cpu(wrb, sizeof(*wrb)); > > dma = (u64)wrb->frag_pa_hi << 32 | (u64)wrb->frag_pa_lo; > - if (dma != 0) { > + if (wrb->frag_len) { > if (unmap_single) > pci_unmap_single(pdev, dma, wrb->frag_len, > PCI_DMA_TODEVICE); > -- > 1.7.0 > > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists